【发布时间】:2017-07-20 22:48:39
【问题描述】:
def return_node(self, head, position):
if position == 0:
# return the node correctly
return head
else:
self.return_node(head.next_node, position - 1)
def insert_at_position(self, head, data, position):
if position == 0:
self.insert_first(head, data)
elif position == self.length:
self.insert_last(head, data)
else:
previous_node = self.return_node(head, position - 1)
# previous_node's value is None instead of the method's return value
next_node = self.return_node(head, position)
# same here
new_node = Node(data, next_node)
previous_node.next_node = new_node
self.length += 1
我正在尝试在我的链表中实现一个在特定位置插入节点的方法。问题是:变量“previous_node”和“next_node”没有正确获取值。 他们得到的不是节点值,而是无。谢谢各位!
【问题讨论】:
-
return_node 的
else没有return任何东西。 -
你可能打算这样做
return self.return_node(head.next_node, position - 1)。
标签: python python-3.x methods return