| 1234567891011121314151617181920212223242526272829303132333435 | package main// type TreeNode struct {// 	Val   int// 	Left  *TreeNode// 	Right *TreeNode// }/** * 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	}	mid := len(nums) / 2	root := TreeNode{nums[mid], nil, nil}	// only one element in nums, return TreeNode{ele, nil, nil}	if mid == 0 {		return &root	}	root.Left = sortedArrayToBST(nums[:mid])	root.Right = sortedArrayToBST(nums[mid+1:])	return &root}// func main() {// 	t1 := sortedArrayToBST([]int{-10, -3, 0, 5, 9})// 	printTree(t1)// }
 |