Skip to content

Commit 07ad56e

Browse files
committed
修复 链表 clear 和 iter_node bug
#11
1 parent 4e6c352 commit 07ad56e

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

Diff for: docs/03_链表/linked_list.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ def iter_node(self):
6161
while curnode is not self.tailnode: # 从第一个节点开始遍历
6262
yield curnode
6363
curnode = curnode.next # 移动到下一个节点
64-
yield curnode
64+
if curnode is not None:
65+
yield curnode
6566

6667
def remove(self, value): # O(n)
6768
""" 删除包含值的一个节点,将其前一个节点的 next 指向被查询节点的下一个即可
@@ -113,6 +114,7 @@ def clear(self):
113114
del node
114115
self.root.next = None
115116
self.length = 0
117+
self.tailnode = None
116118

117119

118120
def test_linked_list():
@@ -151,6 +153,7 @@ def test_linked_list():
151153

152154
ll.clear()
153155
assert len(ll) == 0
156+
assert list(ll) == []
154157

155158

156159
def test_linked_list_remove():

0 commit comments

Comments
 (0)