Convert Sorted Array to Binary Search Tree

Solution in Go

func sortedArrayToBST(nums []int) *TreeNode {
    return getTreeNode(nums, 0, len(nums) - 1)
}

func getTreeNode(nums []int, left, right int) *TreeNode {
    if left > right {
        return nil
    }

    mid := left + ((right - left) / 2)
    root := &TreeNode{
        Val: nums[mid],
    }

    root.Left = getTreeNode(nums, left, mid - 1)
    root.Right = getTreeNode(nums, mid + 1, right)

    return root
}
Subscribe via email

Get notified once/twice per month when new articles are published.

Copyright © 2022 - 2023 TheDeveloperCafe.
The Go gopher was designed by Renee French.