Arrays.copyOfRange()谁用了不说一句好
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* }
*/
public class Solution {
public TreeNode buildTree (int[] inorder, int[] postorder) {
// write code here
if(inorder.length==0||postorder.length==0)
return null;
if(inorder.length==1 || postorder.length==1)
return new TreeNode(inorder[0]);
int val = postorder[postorder.length-1];
int mid = 0;
for(int i = 0 ; i < inorder.length; i ++)
if(inorder[i]==val)
mid = i;
TreeNode root = new TreeNode(val);
root.left = buildTree(Arrays.copyOfRange(inorder,0,mid),Arrays.copyOfRange(postorder,0,mid));
root.right = buildTree(Arrays.copyOfRange(inorder,mid+1,inorder.length),Arrays.copyOfRange(postorder,mid,postorder.length-1));
return root;
}
}
京公网安备 11010502036488号