我创建了一个将节点插入其正确位置的函数。
例如:
root = converts_list_to_linked_list([4,7,9,14])#我有一个链接列表:4-> 7-> 9-> 12-> 14
功能:
insert_ordered(ll,12)
返回“ 4-> 7-> 9-> 12-> 14->无”的链接列表
class LN:
def __init__(self, value):
self.value = value
self.next = None
def insert_ordered(root, data):
node = LN(data)
if root == None:
return node
else:
if root.value > data:
node.next = root
return node
else:
temp, prev = root, None
while temp.next and temp.value <= data:
prev = temp
temp = temp.next
if temp.next == None and temp.value <= data:
temp.next = node
else:
node.next = prev.next
prev.next = node
return root
有什么办法可以递归地解决这个问题?我也不太了解这个想法。