我一开始这样定义的:
报错误:
后来改成:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode constructMaximumBinaryTree(int[] nums) {
return buildTree(nums, 0, nums.length-1);
}
private TreeNode buildTree(int[] nums, int ll, int rr){
if( ll > rr )return null;
int l = nums.length;
int t = -1;
int k = 0;
for( int i = ll ; i <= rr ; i ++ )
if( nums[i] > t ){
t = nums[i];
k = i;
}
TreeNode root = new TreeNode(t);
// root.val = t;
root.left = buildTree(nums, ll, k - 1);
root.right = buildTree(nums, k + 1, rr);
return root;
}
}
就可以了