在检查链表的中间节点时,我对链表中的 while 循环条件如何工作感到困惑
这是我找到链表中间节点的正确代码
class Node(object):
def __init__(self, data):
self.data = data
self.next = None
class linkedList(object):
def __init__(self):
self.head = None
def append(self, data):
node = Node(data)
if self.head == None:
self.head = node
temp = self.head
while temp.next:
temp = temp.next
temp.next = node
def middle(self):
first = self.head
second = self.head
while second and second.next:
second = second.next.next
first = first.next
print(first.data)
如果我将 while 循环更改为
while second:
或者
while second.next:
我收到一条错误消息
AttributeError: 'NoneType' object has no attribute 'next' on line 24
我只是想知道为什么它是重要的是有两个second和second.next
UYOU
斯蒂芬大帝
相关分类