重建二叉树
来源:互联网 发布:mac aecc2017切换中文 编辑:程序博客网 时间:2024/06/13 19:18
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public TreeNode reConstructBinaryTree(int [] pre,int [] in) { if (pre == null || in == null || pre.length == 0 || in.length == 0) { return null; } TreeNode treeNode = new TreeNode(pre[0]); // 找出in数组的分割数字,in左边的为左子树的中序遍历,右边为右子树的中序遍历 int i = 0; while (in[i] != pre[0]) i++; int[] preL = new int [i]; int[] inL = new int [i]; int[] preR = new int [pre.length-i-1]; int[] inR = new int [pre.length-i-1]; System.arraycopy(pre, 1, preL, 0, i); System.arraycopy(pre, i+1, preR, 0, pre.length-i-1); System.arraycopy(in, 0, inL, 0, i); System.arraycopy(in, i+1, inR, 0, in.length-i-1); treeNode.left = reConstructBinaryTree(preL, inL); treeNode.right = reConstructBinaryTree(preR, inR); return treeNode; }}
阅读全文
0 0
- 3.9重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 二叉树的重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 分形三角形
- SaltStack实战之远程执行-Returners
- Leetcode-Merge Two Sorted Lists
- 通过adb与python结合创建的设备驱动脚本deviceDriver.py
- [转]有return的情况下try catch finally的执行顺序(最有说服力的总结)
- 重建二叉树
- 使用多张图片做帧动画的性能优化
- Mac构建Protobuf
- Leetcode 152 Maximum Product Subarray
- 贪心+并查集
- Fork and Join: Java也可以轻松地编写并发程序
- 170609 逆向-VB的自然编译和伪编译
- 用两个栈实现队列
- Spring_Demo1 使用XMl配置IOC