108. 将有序数组转换为二叉搜索树
xxxixxxx

108. 将有序数组转换为二叉搜索树

108. 将有序数组转换为二叉搜索树

递归解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
func sortedArrayToBST(_ nums: [Int]) -> TreeNode? {
return sortTree(nums, 0, nums.count - 1)
}

func sortTree(_ nums: [Int], _ left: Int, _ right: Int) -> TreeNode? {
if left > right {
return nil
}
let mid = (left + right) / 2
let root = TreeNode(nums[mid])
root.left = sortTree(nums, left, mid - 1)
root.right = sortTree(nums, mid + 1, right)

return root
}

  • Post title:108. 将有序数组转换为二叉搜索树
  • Post author:xxxixxxx
  • Create time:2021-02-21 21:23:00
  • Post link:https://xxxixxx.github.io/2021/02/21/2000-002-108. 将有序数组转换为二叉搜索树/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments