image.png

    1. package main
    2. import "fmt"
    3. type TreeNode struct {
    4. Val int
    5. Left *TreeNode
    6. Right *TreeNode
    7. }
    8. func sortedArrayToBST(nums []int) *TreeNode {
    9. if len(nums)==0{
    10. return nil
    11. }
    12. mid := len(nums)/2
    13. root := &TreeNode{Val:nums[mid]}
    14. root.Left = sortedArrayToBST(nums[:mid])
    15. root.Right = sortedArrayToBST(nums[mid+1:])
    16. return root
    17. }
    18. func printTreeNode(h *TreeNode){
    19. if h==nil{
    20. return
    21. }
    22. printTreeNode(h.Left)
    23. fmt.Println(h.Val)
    24. printTreeNode(h.Right)
    25. }
    26. func main() {
    27. r := sortedArrayToBST([]int{-10,-3,0,5,9})
    28. printTreeNode(r)
    29. }

    image.png