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 }