給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下:
二叉樹的根是陣列中的最大元素。
左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。
右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。
通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。
示例 :
輸入:[3,2,1,6,0,5]遞迴來解決該問題,每次遞迴中,首先找到該區間內的最大值,然後建立乙個結點,結點的值即為該最大值;結點的左孩子是最大值左側區間的最大值,右孩子是最大值右側區間的最大值。輸出:返回下面這棵樹的根節點:
6
/ \
3 5
\ /
2 0
\1
細節:區間邊界的處理。
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution
treenode*
constructmaximumbinarytree
(vector<
int>
& nums)
};
leetcode刷題 最大二叉樹
給定乙個不含重複元素的整數陣列 nums 乙個以此陣列直接遞迴構建的 最大二叉樹 定義如下 1.二叉樹的根是陣列 nums 中的最大元素。2.左子樹是通過陣列中 最大值左邊部分 遞迴構造出的最大二叉樹。3.右子樹是通過陣列中 最大值右邊部分 遞迴構造出的最大二叉樹。示例 1 輸入 nums 3,2,...
最大二叉樹
題目大意 總是按照當前陣列或者子陣列中的元素值的最大值作為根節點,依次建立一顆二叉樹。輸入 nums 3 2,1 6,0 5 輸出 6,3,5,null,2,0,null,null,1 解釋 遞迴呼叫如下所示 3,2,1,6,0,5 中的最大值是 6 左邊部分是 3,2,1 右邊部分是 0,5 3,...
654 最大二叉樹
給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下 二叉樹的根是陣列中的最大元素。左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。example 1 輸入 3,2,1,6,...