給定乙個不含重複元素的整數陣列 nums 。乙個以此陣列直接遞迴構建的 最大二叉樹 定義如下:
二叉樹的根是陣列 nums 中的最大元素。
左子樹是通過陣列中 最大值左邊部分 遞迴構造出的最大二叉樹。
右子樹是通過陣列中 最大值右邊部分 遞迴構造出的最大二叉樹。
返回有給定陣列 nums 構建的 最大二叉樹 。
示例 1:
輸入:nums = [3,2,1,6,0,5]
輸出:[6,3,5,null,2,0,null,null,1]
解釋:遞迴呼叫如下所示:
[0,5] 中的最大值是 5 ,左邊部分是 [0] ,右邊部分是 。
輸入:nums = [3,2,1]
輸出:[3,null,2,null,1]
1 <= nums.length <= 1000
0 <= nums[i] <= 1000
nums 中的所有整數 互不相同
/**
* definition for a binary tree node.
* public class treenode
* treenode(int val)
* treenode(int val, treenode left, treenode right)
* }*/class
solution
treenode build
(int
nums,
int start,
int end)
int index =0;
int maxval = integer.min_value;
//確定最大值以及最大值的下標位置
for(
int i = start;i <= end;i++)}
treenode root =
newtreenode
(maxval)
;//遞迴構造左右子樹
root.left =
build
(nums,start,index-1)
; root.right =
build
(nums,index+
1,end)
;return root;
}}
654 最大二叉樹
給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下 二叉樹的根是陣列中的最大元素。左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。example 1 輸入 3,2,1,6,...
654 最大二叉樹
題目描述 給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下 二叉樹的根是陣列中的最大元素。左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。示例 給定的陣列的大小在 1,1...
654 最大二叉樹
給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下 二叉樹的根是陣列中的最大元素。左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。示例 輸入 3,2,1,6,0,5 輸出 ...