654 最大二叉樹

2022-09-23 03:45:10 字數 578 閱讀 6317

class solution 

/*** 左閉右開區間

* 先找到陣列的最大值,作為根節點,然後將陣列一分為二,繼續遞迴分割

*/public treenode buildsontree(int nums, int left, int right)

if (right - left == 1)

/*** 記錄下根節點的位置

*/int index = left;

for (int i = left; i < right; i++)

}/**

* 傳入新的陣列邊界,繼續分割

*/treenode root = new treenode(nums[index]);

root.left = buildsontree(nums, left, index);

root.right = buildsontree(nums, index + 1, right);

return root;

}}/**

* 時間複雜度 o(n)

* 空間複雜度 o(n)

*/

654 最大二叉樹

給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下 二叉樹的根是陣列中的最大元素。左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。example 1 輸入 3,2,1,6,...

654 最大二叉樹

題目描述 給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下 二叉樹的根是陣列中的最大元素。左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。示例 給定的陣列的大小在 1,1...

654 最大二叉樹

給定乙個不含重複元素的整數陣列 nums 乙個以此陣列直接遞迴構建的 最大二叉樹 定義如下 二叉樹的根是陣列 nums 中的最大元素。左子樹是通過陣列中 最大值左邊部分 遞迴構造出的最大二叉樹。右子樹是通過陣列中 最大值右邊部分 遞迴構造出的最大二叉樹。返回有給定陣列 nums 構建的 最大二叉樹 ...