Class Solution
-
- All Implemented Interfaces:
public final class Solution
654 - Maximum Binary Tree\.
Medium
You are given an integer array
nums
with no duplicates. A maximum binary tree can be built recursively fromnums
using the following algorithm:Create a root node whose value is the maximum value in
nums
.Recursively build the left subtree on the subarray prefix to the left of the maximum value.
Recursively build the right subtree on the subarray suffix to the right of the maximum value.
Return the maximum binary tree built from
nums
.Example 1:
Input: nums = 3,2,1,6,0,5
Output: 6,3,5,null,2,0,null,null,1
Explanation: The recursive calls are as follow:
The largest value in 3,2,1,6,0,5 is 6. Left prefix is 3,2,1 and right suffix is 0,5.
Example 2:
Input: nums = 3,2,1
Output: 3,null,2,null,1
Constraints:
1 <= nums.length <= 1000
0 <= nums[i] <= 1000
All integers in
nums
are unique.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final TreeNode
constructMaximumBinaryTree(IntArray nums)
-
-
Method Detail
-
constructMaximumBinaryTree
final TreeNode constructMaximumBinaryTree(IntArray nums)
-
-
-
-