Skip to content

Commit 89ed6a1

Browse files
committed
amend code(next is keyword)
1 parent e9dbe4f commit 89ed6a1

File tree

1 file changed

+23
-22
lines changed

1 file changed

+23
-22
lines changed

Linked_list/linked_list.py

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class Node:
1010

1111
def __init__(self, data, next_node=None):
1212
self.data = data
13-
self.next = next_node
13+
self.next_node = next_node
1414

1515
def __repr__(self):
1616
return str(self.data)
@@ -28,7 +28,7 @@ def __iter__(self):
2828
node = self.head
2929
while node:
3030
yield node.data
31-
node = node.next
31+
node = node.next_node
3232

3333
def is_empty(self):
3434
"""
@@ -45,7 +45,7 @@ def insert_head(self, data):
4545
"""
4646
new_node = Node(data) # 初始化节点
4747
if self.head is not None:
48-
new_node.next = self.head # 节点指向原来的头
48+
new_node.next_node = self.head # 节点指向原来的头
4949
self.head = new_node # 该节点作为节点头
5050

5151
def insert_tail(self, data):
@@ -58,9 +58,9 @@ def insert_tail(self, data):
5858
self.insert_head(data)
5959
else:
6060
temp = self.head # 有头,顺着链表一直往下找,找到最后,将该节点作为最后节点
61-
while temp.next:
62-
temp = temp.next
63-
temp.next = Node(data)
61+
while temp.next_node:
62+
temp = temp.next_node
63+
temp.next_node = Node(data)
6464

6565
def show_node_data(self):
6666
"""
@@ -71,7 +71,7 @@ def show_node_data(self):
7171
_temp = self.head
7272
while _temp is not None:
7373
print(_temp.data)
74-
_temp = _temp.next
74+
_temp = _temp.next_node
7575

7676
def delete_head(self):
7777
"""
@@ -81,8 +81,8 @@ def delete_head(self):
8181
"""
8282
_temp = self.head
8383
if self.head is not None:
84-
self.head = self.head.next
85-
_temp.next = None
84+
self.head = self.head.next_node
85+
_temp.next_node = None
8686
return _temp
8787

8888
def delete_tail(self):
@@ -92,14 +92,14 @@ def delete_tail(self):
9292
"""
9393
_temp = self.head
9494
if self.head is not None: # 如果头不是None,如果头的指向为空,则删除尾即为将头指向None
95-
if self.head.next is None:
95+
if self.head.next_node is None:
9696
self.head = None
9797

9898
else:
99-
while _temp.next.next is not None: # 当头的next的next不为空,则继续往下找,直到找到倒数第二个节点
100-
_temp = _temp.next
99+
while _temp.next_node.next_node is not None: # 当头的next的next不为空,则继续往下找,直到找到倒数第二个节点
100+
_temp = _temp.next_node
101101

102-
_temp.next, _temp = None, _temp.next # 将倒数第二个节点的next指向None,该节点变为最后一个节点(a,b = b,a)
102+
_temp.next_node, _temp = None, _temp.next_node # 将倒数第二个节点的next指向None,该节点变为最后一个节点(a,b = b,a)
103103
return _temp
104104

105105
def reverse(self):
@@ -110,11 +110,12 @@ def reverse(self):
110110
prev = None
111111
current = self.head
112112
while current:
113-
# _temp = current.next # 对当前节点的下一个节点赋值
114-
# current.next = prev # 反转当前节点的下一个节点指向前一节点
113+
# _temp = current.next_node # 对当前节点的下一个节点赋值
114+
# current.next_node = prev # 反转当前节点的下一个节点指向前一节点
115115
# prev = current # 前一个节点变成当前节点
116-
_temp, current.next, prev = current.next, prev, current
117-
current = _temp # 节点偏移/迭代
116+
# current = _temp # 节点偏移/迭代
117+
'''The above code equate to the follow.'''
118+
current.next_node, prev, current = prev, current, current.next_node
118119
self.head = prev # 原来的链表头指向新的链表头
119120

120121
@staticmethod
@@ -127,9 +128,9 @@ def find_middle_node(head):
127128
:return:
128129
"""
129130
slow, fast = head, head
130-
fast = fast.next if fast else None
131-
while fast and fast.next:
132-
slow, fast = slow.next, fast.next.next
131+
fast = fast.next_node if fast else None
132+
while fast and fast.next_node:
133+
slow, fast = slow.next_node, fast.next_node.next_node
133134
return slow
134135

135136

@@ -187,5 +188,5 @@ def find_mid():
187188

188189

189190
if __name__ == '__main__':
190-
# main()
191-
find_mid()
191+
main()
192+
# find_mid()

0 commit comments

Comments
 (0)