问题似乎很简单。 您必须使用相同的树并将右子指针作为列表中的下一个指针。
所以我使用的算法如下:
def inorder(node, prev, head):
if(node == NULL):
return;
inorder(node.left, prev, head)
node.right = prev
if(!prev):
head = node
prev = node
inorder(node.right, prev, head)
任何人都可以指出我错在哪里,因为它似乎没有用。
答案 0 :(得分:1)
我看到的第一个错误是您在head
内分配prev
和inorder
,并希望以某种方式影响head
和{{ 1}}之前调用prev
。但事实并非如此。
您需要做的是让inorder
返回您想要的信息,然后在父呼叫中分配它们。