Skip to content

Commit 1acb16b

Browse files
author
wangningning
committed
fix LinkedList remove tailnode
1 parent 4fad096 commit 1acb16b

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

docs/03_链表/linked_list.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ def remove(self, value): # O(n)
7171
for curnode in self.iter_node():
7272
if curnode.value == value:
7373
prevnode.next = curnode.next
74+
if curnode is self.tailnode: # NOTE: 注意更新 tailnode
75+
self.tailnode = prevnode
7476
del curnode
7577
self.length -= 1
7678
return 1 # 表明删除成功
@@ -141,5 +143,16 @@ def test_linked_list():
141143
assert len(ll) == 0
142144

143145

146+
def test_linked_list_remove():
147+
ll = LinkedList()
148+
ll.append(3)
149+
ll.append(4)
150+
ll.append(5)
151+
ll.append(6)
152+
ll.append(7)
153+
ll.remove(7)
154+
print(list(ll))
155+
156+
144157
if __name__ == '__main__':
145158
test_linked_list()

0 commit comments

Comments
 (0)