【发布时间】:2021-06-12 05:01:08
【问题描述】:
抱歉这里有初学者问题。
我正在尝试使用递归为链表类实现 insert 方法,如下面的代码所示。
但是,当我尝试它时,我会返回一个无限重复我想要插入的值的列表。
例如
第一个节点是'a',
第二个节点是'b',
第三个节点是'c'。
如果我使用代码插入“d”作为新的第 3 个节点,我会得到“abdddddddd....”无限。
非常感谢您就导致此行为的原因提供一些建议。
class linked_list():
def __init__(self, node):
self.node = node
def insert_at_index (self, index, value, node=None, current_index=0):
def insert_recur(index, new_node, node, current_index):
if current_index == index:
node.next_node = new_node
new_node.next_node = node.next_node
return None
else:
return insert_recur(index, new_node, node.next_node, current_index+1)
new_node = Node(value)
if index == 0:
new_node.next_node = self.node
self.node = new_node
return
else:
node = self.node
insert_recur(index, new_node, node, current_index)
【问题讨论】:
标签: python recursion data-structures linked-list