Open youngyangyang04 opened 5 months ago
class Solution {
public TreeNode constructMaximumBinaryTree(int[] nums) {
return traversal(nums, 0, nums.length);
}
private TreeNode traversal(int[] nums, int left, int right) {
if (left >= right) return null;
int index = left;
for (int i = left + 1; i < right; i++) {
if (nums[i] > nums[index]) {
index = i;
}
}
TreeNode root = new TreeNode(nums[index]);
root.left = traversal(nums, left, index);
root.right = traversal(nums, index + 1, right);
return root;
}
}
https://www.programmercarl.com/0654.%E6%9C%80%E5%A4%A7%E4%BA%8C%E5%8F%89%E6%A0%91.html