654 最大二叉樹

2021-10-19 13:11:21 字數 1175 閱讀 6299

給定乙個不含重複元素的整數陣列 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 輸出 ...