刷题——中序后序遍历重构二叉树
来源:互联网 发布:vmware for ubuntu 64 编辑:程序博客网 时间:2024/06/08 06:55
/* * 题目描述Given inorder and postorder traversal of a tree, construct the binary tree.Note: You may assume that duplicates do not exist in the tree. */public class 中序后序遍历重构二叉树 {public TreeNode buildTree(int[] inorder,int inStart,int inEnd, int[] postorder,int postStart,int postEnd) {if (inStart>inEnd || postStart>postEnd) {return null;}int rootVal = postorder[postEnd];TreeNode rootNode = new TreeNode(rootVal);int i = inStart;for (; i <= inEnd; i++) {if (inorder[i]==rootVal) {break;}}rootNode.left = buildTree(inorder,inStart,i-1, postorder, postStart,postStart+i-inStart-1);rootNode.right = buildTree(inorder,i+1,inEnd, postorder,postStart+i-inStart,postEnd-1);return rootNode;}public TreeNode buildTree(int[] inorder, int[] postorder) { if (inorder==null || inorder.length==0 || postorder==null || postorder.length==0) {return null;} return buildTree(inorder,0,inorder.length-1,postorder,0,postorder.length-1);}public static void main(String[] args) {// TODO Auto-generated method stub}}
阅读全文
0 0
- 刷题——中序后序遍历重构二叉树
- 二叉树遍历总结和重构
- 二叉树非递归遍历,重构
- 根据二叉树遍历的结果重构二叉树
- 根据二叉树的先序遍历和中序遍历重构二叉树
- 知道二叉树的前序遍历和中序遍历重构二叉树
- 根据二叉树的前序遍历和中序遍历,重构二叉树
- 二叉树根据前序遍历和中序遍历重构确定唯一二叉树
- 根据前序、中序遍历重构二叉树
- 根据两种不同遍历结果重构二叉树
- 由先序遍历/后序遍历以及中序遍历重构二叉树
- 遍历二叉树——递归遍历
- 根据前序遍历和中序遍历,后序遍历和中序遍历重构二叉树
- 根据前序遍历和中序遍历重构二叉树
- 根据先序遍历和后续遍历重构二叉树
- 由前序遍历和中序遍历重构二叉树
- 已知二叉树的前序和中序遍历,重构该二叉树
- 重构二叉树
- 剖析整数,浮点数在内存中的存储
- 170723 逆向-RouterScanDLL初步
- C#存储Excel表格
- java线程
- PAT a1093题解
- 刷题——中序后序遍历重构二叉树
- Android应用进程防杀指南3-JobService
- C++每日一课(十九)
- PAT a1094题解
- 计蒜之道2017F-腾讯消消乐(状压dp)
- 基于Zookeeper的路由和负载均衡实现思想
- Java系列(二)之面向对象
- PAT a1095题解
- 错排公式 + 组合数学取mod板子