如何将节点递归添加到链表?

我创建了一个将节点插入其正确位置的函数。

例如:

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

有什么办法可以递归地解决这个问题?我也不太了解这个想法。