26 lines
422 B
Go
26 lines
422 B
Go
package q108
|
|
|
|
type TreeNode struct {
|
|
Val int
|
|
Left *TreeNode
|
|
Right *TreeNode
|
|
}
|
|
|
|
func sortedArrayToBST(nums []int) *TreeNode {
|
|
if len(nums) == 0 {
|
|
return nil
|
|
}
|
|
if len(nums) == 1 {
|
|
return &TreeNode{Val: nums[0]}
|
|
}
|
|
|
|
l, r := nums[:len(nums)/2], nums[len(nums)/2+1:]
|
|
m := nums[len(nums)/2]
|
|
return &TreeNode{
|
|
Val: m,
|
|
Left: sortedArrayToBST(l),
|
|
Right: sortedArrayToBST(r),
|
|
}
|
|
}
|
|
|
|
var _ = sortedArrayToBST
|