数据结构:
列表一个最大的特点是可以修改,而字符串和元组是不能修改的:
我们知道c和c++都有栈和队列
那么我们也可以用列表的特性来实现堆栈:
示例:
结果;
将列表当作队列使用
示例:
结果:
列表推导式
示例:
结果:
嵌套列表 实现矩阵列表的转制:
其中其嵌套的执行顺序是:
运行结果:
每日一题:
输入一个链表,反转链表后,输出新链表的表头。
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# 返回ListNode
def ReverseList(self, pHead):
# write code here
if pHead is None:
return None
p=None
while pHead:
q=pHead
pHead=q.next
q.next=p
p=q
return q
测试版本(****) 搞不懂这个class怎么调用我去,,,,,,,
class Node(object):
def __init__(self, elem, next_=None):
self.elem = elem
self.next = next_
def ReverseList(pHead):
# write code here
if pHead is None:
return None
p=None
while pHead:
q=pHead
pHead=q.next
q.next=p
p=q
return q
if __name__ == '__main__':
l1 = Node(3) # 建立链表3->2->1->9->None
l1.next = Node(2)
l1.next.next = Node(1)
l1.next.next.next = Node(9)
l = ReverseList(l1)
print (l.elem, l.next.elem, l.next.next.elem, l.next.next.next.elem)