25 lines
362 B
Go
25 lines
362 B
Go
|
|
package main
|
||
|
|
|
||
|
|
type TreeNode struct {
|
||
|
|
Val int
|
||
|
|
Left *TreeNode
|
||
|
|
Right *TreeNode
|
||
|
|
}
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
func sortedArrayToBST(nums []int) *TreeNode {
|
||
|
|
if len(nums) == 0 {
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
mid := len(nums) / 2
|
||
|
|
root := &TreeNode{Val: nums[mid]}
|
||
|
|
first := root
|
||
|
|
root.Left = sortedArrayToBST(nums[:mid])
|
||
|
|
root.Right = sortedArrayToBST(nums[mid+1:])
|
||
|
|
|
||
|
|
return first
|
||
|
|
}
|