【发布时间】:2018-06-29 08:50:24
【问题描述】:
给定树的中序和前序遍历,如何以非递归方式重新构造树。
例如:
重新构造下面的树
1
2 3
4 5 6 7
8 9
给定
中序遍历:4、2、5、8、1、6、3、9、7
前序遍历:1、2、4、5、8、3、6、7、9
注意:有很多关于递归实现的参考。例如,可以参考Construct Tree from given Inorder and Preorder traversals。然而,这里的意图是找到非递归实现。
【问题讨论】:
-
递归使用调用栈来保存信息。要在不递归的情况下做同样的事情,只需创建一个数据堆栈来保存该信息。
标签: algorithm recursion tree iteration binary-tree