/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func sortedArrayToBST(nums []int) *TreeNode {
if len(nums) == 0 {
return nil
}
n := TreeNode{
Val: nums[len(nums)/2],
Left: sortedArrayToBST(nums[:len(nums)/2]),
Right: sortedArrayToBST(nums[len(nums)/2+1:]),
}
return &n
}