【发布时间】:2014-06-26 19:03:37
【问题描述】:
问题描述:(语言为java)
给定一个表示二叉搜索树的前序遍历的输入数组,输出 BST 的后序遍历。
赶上:
- 没有构建 BST 节点。
- 没有递归。
- O(n) 运行时间。
我已经尝试了几个小时,但仍然没有任何线索。
最难的部分是不使用树节点结构。
有人有想法吗?
【问题讨论】:
标签: java binary-search-tree preorder postorder
问题描述:(语言为java)
给定一个表示二叉搜索树的前序遍历的输入数组,输出 BST 的后序遍历。
赶上:
我已经尝试了几个小时,但仍然没有任何线索。
最难的部分是不使用树节点结构。
有人有想法吗?
【问题讨论】:
标签: java binary-search-tree preorder postorder
这里有一个提示:
在preorder遍历中,数组的第一个元素总是会是树的根,
所以如果给定数组NodeElemnts[],那么NodeElemnts[0] 将是树的根
那么,左节点位于2n+1,右节点位于2n+2,n是当前数组的索引。
从前到后:
[root][leftChild][rightChild] (pre) -> [leftChild][rightChild][root] (post) .....想想 BFS :)
【讨论】: