我已經成功實現了一個向後鏈表,但我試圖找出如何實現一個轉發鏈表,我似乎無法弄清楚如何去做。問題出在我的insert
方法中。我試圖跟蹤前一個節點,並將其指向新創建的節點,但我錯過了一些東西。轉發鏈接列表的問題
class Node(object):
def __init__(self, data=None, next_node=None):
self.data = data
self.next_node = next_node
def set_next(self, new_next):
self.next_node = new_next
def get_data(self):
return self.data
def get_next(self):
return self.next_node
class LinkedList(object):
def __init__(self, head=None):
self.head = head
def insert(self, data):
previous_node = self.head
current_node = self.head
new_node = Node(data)
if previous_node is not None:
previous_node.set_next(new_node)
previous_node = self.head
爲什麼'previous_node = self.head'?每個節點插入後頭? – Arman
這裏有一個錯字'new_node = Node(data)'應該是'new node = Node2(data)',有可能'Node'正在調用你的向後鏈表並導致混淆? – steven
Kurt在他的回答中說,你需要一個'while'的條件,然後在期望的'previous_node'後加上'new_node',Kurt的回答是完全正確的 – Arman