把排序陣列轉化為高度最小的搜尋二叉樹

2021-07-30 18:06:51 字數 432 閱讀 8295

給乙個排序陣列(從小到大),將其轉換為一棵高度最小的排序二叉樹。 樣例

給出陣列 [1,2,3,4,5,6,7]

, 返回

4

/ \

2 6

/ \ / \

1 3 5 7

二叉搜尋樹是左子樹的值比根結點小,根結點的值比右子樹小的樹(假設左右子樹都存在的話)。因此利用遞迴以及二分的思想,把給定的排序陣列找到中間值給根結點,中間值前面的給左子樹,後面的給右子樹,以此類推,當左子樹的值比右子樹大的時候,遞迴終止。

class solution

}treenode* def(vector&a,int left,int right)

};此題的思想主要是把二分法與遞迴結合,再者需要注意給定排序陣列的邊界問題,不然很有可能溢位。

把排序陣列換成高度最小的二叉搜尋樹

1.問題描述 給乙個排序陣列 從小到大 將其轉換為一棵高度最小的排序二叉樹。注意事項 there may exist multiple valid solutions,return any of them.樣例 給出陣列 1,2,3,4,5,6,7 返回 4 2 6 1 3 5 7 2.解題思路 把...

把排序陣列轉換為高度最小的二叉搜尋樹

問題描述 給乙個排序陣列 從小到大 將其轉換為一棵高度最小的排序二叉樹。注意事項there may exist multiple valid solutions,return any of them.樣例 給出陣列 1,2,3,4,5,6,7 返回 4 2 6 1 3 5 7 思路 用陣列的中間值作...

把排序陣列轉換為高度最小的二叉搜尋樹

1.問題描述 給乙個排序陣列 從小到大 將其轉換為一棵高度最小的排序二叉樹。注意事項 there may exist multiple valid solutions,return any of them.2.思路 樣例給出陣列 1,2,3,4,5,6,7 返回 4 2 6 1 3 5 7 要建立一...