python学习日记:
现在在地基系统学习python,记录一下自己每天学习python的日常,今天在刷题的时候看到一道题是要用链表做的,自己忘的差不多了,重新学习一下,希望也对大家有所帮助,每天学习内容太多了,没时间仔细写注解,直接放代码和结果了
`
学习内容:
python 单链表的基本操作
例如:
- 链表创建
- 节点的增删查改
- 链表反转
代码块:
class ListNode:
def __init__(self, val):
self.val = val # 值
self.next = None
class LinkedList:
def __init__(self):
self.head = None # 头节点
self.tail = None # 尾节点
def isEmpty(self): # 判断链表是否为空
return self.head is None # 空链表返回1
def size(self): # 统计链表节点个数
if self.isEmpty():
print("链表为空")
return
cur = self.head
count = 0
while cur:
count += 1
cur = cur.next
return count
def append(self, val): # 尾插 参数:插入的单个值
node = ListNode(val)
if self.head is None:
self.head = node
self.tail = node
else:
self.tail.next = node
self.tail = node
def appendList(self, list): # 尾插 参数:插入的列表
for i in list[0:]:
node = ListNode(i