import java.util.*; /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ //非常感谢大神啊,java的代码可以参照我的 public class Solution { public TreeNode reConstructBinaryTree(int [] pre,int [] vin) { if(pre.length == 0) return null; TreeNode root = new TreeNode(pre[0]); int index = -1; for(int i = 0;i < vin.length;i++) { if(vin[i] == pre[0]) { index = i; } } int[] pre1 = Arrays.copyOfRange(pre, 1, index+1); int[] pre2 = Arrays.copyOfRange(pre, index+1, pre.length); int[] vin1 = Arrays.copyOfRange(vin, 0, index); int[] vin2 = Arrays.copyOfRange(vin, index+1, vin.length); root.left = reConstructBinaryTree(pre1, vin1); root.right = reConstructBinaryTree(pre2, vin2); return root; } }
点赞

相关推荐

蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
牛客网
牛客企业服务