LeetCode 108 將有序陣列轉為二叉搜尋樹

2021-10-25 12:59:07 字數 619 閱讀 5950

利用深度優先遍歷,每次都取出中間數作為根節點

最開始取陣列中間數作為根節點,然後以該中間數左右分割出兩個子陣列

左邊的子陣列就是左子樹的陣列,右邊的子陣列就是右子樹的陣列

然後再根據各個子樹對應的陣列去取出中間數作為子樹的根節點,以此類推

class

solution

private treenode dfs

(int

nums,

int start,

int end)

int mid =

(start + end)/2

; treenode root =

newtreenode

(nums[mid]);

root.left =

dfs(nums, start, mid -1)

; root.right =

dfs(nums, mid +

1, end)

;return root;

}}

LeetCode108 將有序陣列轉換為二叉搜尋樹

將乙個按照公升序排列的有序陣列,轉換為一棵高度平衡二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定有序陣列 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡二叉搜尋樹 0 3 9 10...

LeetCode108 將有序陣列轉換為二叉搜尋樹

將乙個按照公升序排列的有序陣列,轉換為一棵高度平衡二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定有序陣列 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡二叉搜尋樹 0 3 9 10...

leetcode108 將有序陣列轉換為二叉搜尋樹

將有序陣列轉換為二叉搜尋樹。難度 簡單。將乙個按照公升序排列的有序陣列,轉換為一棵高度平衡二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定有序陣列 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面...