来自给定预订输入的输出后序二进制搜索树,无需构造树或使用递归

时间:2014-05-09 06:19:39

标签: java binary-search-tree preorder postorder

问题描述:(语言是java)

给定一个表示二进制搜索树的前序遍历的输入数组,输出BST的后序遍历。

抓住:

  • 没有构建BST节点。
  • 没有递归。
  • O(n)运行时间。

我已经尝试了好几个小时,但仍然没有线索 最难的部分是不使用树节点结构 有人有想法吗?

1 个答案:

答案 0 :(得分:0)

这是一个提示:

preorder遍历中,数组的第一个元素始终是树的,所以如果给出NodeElemnts[]数组,然后NodeElemnts[0] 树的根

然后,左侧节点位于2n+1,右侧节点位于2n+2n是当前阵列的索引。

for Pre to Post:

[root][leftChild][rightChild] pre ) - > [leftChild][rightChild][root] post ).....想想BFS:)