二叉树问题-根据前序遍历结果和中序遍历结果得出后序遍历结果
来源:互联网 发布:linux net snmp 使用 编辑:程序博客网 时间:2024/04/29 21:01
根据二叉树的前序遍历结果和中序遍历结果得出后序遍历结果
例如:
输入:
前序序列:A B C D E F G
中序序列:C B E D A F G
输出:
后序序列:C E D B G F A
具体函数
public static void setLRNByNLRAndLNR(List<Object> nlrList, List<Object> lnrList, List<Object> lrnList) {// 在前序列表中查看第一个元素,此元素即为此树的根节点// 查看在前序列表中找到的元素在中序列表中的位置,并以此为位置把树分开,得到两颗新的树if (null != nlrList && null != lnrList && nlrList.size() > 0 && lnrList.size() > 0) {Object first = nlrList.get(0);int index = lnrList.indexOf(first);// 左子树setLRNByNLRAndLNR(nlrList.subList(1, index + 1), lnrList.subList(0, index), lrnList);// 右子树setLRNByNLRAndLNR(nlrList.subList(index + 1, nlrList.size()), lnrList.subList(index + 1, lnrList.size()), lrnList);// 添加节点lrnList.add(first);}}
注:三个参数分别是前序遍历结果列表,中序遍历结果列表,后序遍历结果列表。
- 二叉树问题-根据前序遍历结果和中序遍历结果得出后序遍历结果
- 二叉树遍历问题:已知中序遍历和后序遍历结果,求前序遍历结果
- 根据中序遍历结果和前序(后序)遍历结果重构二叉树
- 题目1078:二叉树遍历(根据前序和中序遍历结果,获得后序遍历)
- 根据二叉树的前序遍历和中序遍历的结果,重建二叉树
- 根据前序遍历和中序遍历结果构造二叉树
- 根据前序遍历和中序遍历结果重建二叉树(递归方法)
- 根据前序遍历和中序遍历结果构造二叉树
- 根据前序遍历和中序遍历的结果确定后序遍历
- 算法面试:根据前序遍历结果序列和中序遍历结果序列重构二叉树
- 根据后序遍历和中序遍历结果还原二叉树
- 根据前序与后序遍历构建二叉树,并以后序遍历结果输出
- 二叉树先序遍历中序遍历结果得出该树,并以后序遍历形式输出
- 重建二叉树---根据前序和中序遍历结果重建二叉树
- 由二叉树的前序遍历和中序遍历来求后序遍历的结果
- 根据前序遍历-中序遍历结果 来还原一颗二叉树
- 根据二叉树的前序遍历和中序遍历结果重建出该二叉树
- 根据二叉树的前序遍历和中序遍历的结果,请重建出该二叉树
- 可变长的结构体
- 正在爆发的互联网革命-书评
- 关于抽屉原理
- VB工程17--百例25--古诗测试
- cglib包介绍
- 二叉树问题-根据前序遍历结果和中序遍历结果得出后序遍历结果
- 红黑树 C++实现
- 母函数
- Mouse click flow chat
- 栈问题-根据入栈序列,得出可能的出栈序列
- 到底是人穷志短,还是志短人穷?
- 如何在CSDN博客自定义栏目中添加“给我写信”
- 马云:贪婪和拜金主义让我感到担忧
- 关于Debug和Release编译方式