如标题中所述,我有一个二叉搜索树。我想使用递归将其转换为排序的双重链接列表。
我的代码
for each node in tree
find max of left sub-tree and assign its right to present node ,present node left to max
find min of right sub-tree and assign its left to present node ,present node right to max
and now recursively do same thing to other nodes in BST .
但是这个解决方案效率不高,因为它不止一次地到达每个节点。在我寻求优化代码的过程中,我从谷歌greatTreeList sollution获得了一个链接。我在SO中搜索了相同的解决方案,并且对我有用。我不明白解决方案的append function
内容,因为它包含代码
join(alast,b)
join(blast,a)
对于按以下顺序插入节点的树 10,5,9,6,8,7,12,11,13,14
谁能解释一下如何加入(最后,b)加入(爆炸,a)
在每个递归调用中链接节点。