File tree Expand file tree Collapse file tree 2 files changed +15
-9
lines changed Expand file tree Collapse file tree 2 files changed +15
-9
lines changed Original file line number Diff line number Diff line change @@ -74,6 +74,8 @@ def remove(self, value): # O(n)
7474 del curnode
7575 self .length -= 1
7676 return 1 # 表明删除成功
77+ else :
78+ prevnode = curnode
7779 return - 1 # 表明删除失败
7880
7981 def find (self , value ): # O(n)
@@ -113,26 +115,27 @@ def test_linked_list():
113115 ll .append (0 )
114116 ll .append (1 )
115117 ll .append (2 )
118+ ll .append (3 )
116119
117- assert len (ll ) == 3
120+ assert len (ll ) == 4
118121 assert ll .find (2 ) == 2
119- assert ll .find (3 ) == - 1
122+ assert ll .find (- 1 ) == - 1
120123
121124 assert ll .remove (0 ) == 1
122- assert ll .remove (3 ) == - 1
125+ assert ll .remove (10 ) == - 1
126+ assert ll .remove (2 ) == 1
123127 assert len (ll ) == 2
128+ assert list (ll ) == [1 , 3 ]
124129 assert ll .find (0 ) == - 1
125130
126- assert list (ll ) == [1 , 2 ]
127-
128131 ll .appendleft (0 )
129- assert list (ll ) == [0 , 1 , 2 ]
132+ assert list (ll ) == [0 , 1 , 3 ]
130133 assert len (ll ) == 3
131134
132135 headvalue = ll .popleft ()
133136 assert headvalue == 0
134137 assert len (ll ) == 2
135- assert list (ll ) == [1 , 2 ]
138+ assert list (ll ) == [1 , 3 ]
136139
137140 ll .clear ()
138141 assert len (ll ) == 0
Original file line number Diff line number Diff line change @@ -69,12 +69,15 @@ def remove(self, value): # O(n)
6969 """
7070 prevnode = self .root #
7171 curnode = self .root .next
72- while curnode . next is not None :
72+ for curnode in self . iter_node () :
7373 if curnode .value == value :
7474 prevnode .next = curnode .next
7575 del curnode
7676 self .length -= 1
77- return
77+ return 1 # 表明删除成功
78+ else :
79+ prevnode = curnode
80+ return - 1 # 表明删除失败
7881
7982 def find (self , value ): # O(n)
8083 """ 查找一个节点,返回序号,从 0 开始
You can’t perform that action at this time.
0 commit comments