T654 最大二叉樹 構造二叉樹系列

2021-10-09 04:08:12 字數 492 閱讀 3803

思想:還是從給定區間內(一堆節點中)構成二叉樹的問題

根節點root選擇當前區間的最大值(位於區間的第maxidx位置上的值)構成

左子樹區間為[start,maxidx-1],右子樹區間為[maxidx+1,end]

遞迴構造即可

時間複雜度o(n^2),空間複雜度o(logn)

class solution 

idx++;

}treenode root = new treenode(nums[maxidx]);

root.left = helper(nums,start,maxidx-1);

root.right = helper(nums,maxidx+1,end);

return root;

}public treenode constructmaximumbinarytree(int nums)

}

654 最大二叉樹

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

654 最大二叉樹

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

654 最大二叉樹

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