【发布时间】:2019-07-30 11:55:48
【问题描述】:
我不明白def insert_beginning(self, new_value) 的逻辑。我们希望将值 5 设为 self.head_node。不应该是 self.head_node.set_next_node(new_node) 产生 5 -> 70 -> 5675,而 new_node.set_next_node(self.head_node) 产生 5 self.head_node?
class Node:
def __init__(self, value, next_node=None):
self.value = value
self.next_node = next_node
def get_value(self):
return self.value
def get_next_node(self):
return self.next_node
def set_next_node(self, next_node):
self.next_node = next_node
# Our LinkedList class
class LinkedList:
def __init__(self, value=None):
self.head_node = Node(value)
def get_head_node(self):
return self.head_node
def insert_beginning(self, new_value):
new_node = Node(new_value)
new_node.set_next_node(self.head_node)
self.head_node = new_node
# Test your code by uncommenting the statements below - did your list print to the terminal?
ll = LinkedList(5)
ll.insert_beginning(70)
ll.insert_beginning(5675)
【问题讨论】:
标签: python python-3.x pointers linked-list nodes