前序和中序重建二叉树
来源:互联网 发布:宿迁网络问政政策 编辑:程序博客网 时间:2024/06/06 18:38
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
public class Solution { public TreeNode reConstructBinaryTree(int [] pre,int [] in) { return find(pre, in, 0, pre.length - 1, 0, pre.length - 1); } public TreeNode find(int [] pre, int [] in, int preStart, int preEnd, int inStart, int inEnd){ if(preStart > preEnd) return null; if(preStart == preEnd) return new TreeNode(pre[preStart]); TreeNode node = new TreeNode(pre[preStart]); int rootIndex; for(rootIndex = inStart; rootIndex <= inEnd; rootIndex++){ if(pre[preStart] == in[rootIndex]) break; } int leftLength = rootIndex - inStart, leftPreEnd = preStart + leftLength ; node.left = find(pre, in, preStart + 1, leftPreEnd, inStart, rootIndex - 1); node.right = find(pre, in, leftPreEnd + 1, preEnd, rootIndex + 1, inEnd); return node; }}
0 0
- 根据前序和中序序列重建二叉树
- 根据前序和中序重建二叉树
- 根据中序和前序重建二叉树
- 前序和中序重建二叉树
- 前序和中序遍历重建二叉树
- 根据中序和前序遍历重建二叉树
- C++根据前序和中序重建二叉树
- 前序遍历和中序遍历重建二叉树
- 前序遍历和中序遍历重建二叉树
- 前序和中序序列重建二叉树
- 根据前序和中序重建二叉树
- 根据前序和中序遍历重建二叉树
- 重建二叉树(前序和中序)
- 重建二叉树---根据前序和中序遍历结果重建二叉树
- 根据前序和中序列 重建二叉树
- 由前序和中序数组重建二叉树
- 前序 中序重建二叉树
- 剑指offer 重建二叉树-前序遍历和中序遍历重建
- 欢迎使用CSDN-markdown编辑器
- mongo shell 高级之 副本集
- Android开发之自定义侧滑ListView
- Swift截取HTML中的所有图片url
- mongo shell 高级之 分片
- 前序和中序重建二叉树
- mongo shell 高级之 高可用集群
- js script加载
- Python-远程管理-Paramiko实现ssh&sftp
- 浅谈DOS与DDOS攻击的原理
- NOIP2014普及组 T4 子矩阵 DFS+DP
- Kafka学习笔记2: 快速入门
- MVC思想和三层架构
- 2016【淘宝运营】,如何营销宝贝详情页,提高宝贝的转化率