Skip to content

Instantly share code, notes, and snippets.

@stbrody
Created November 3, 2020 19:32
Show Gist options
  • Save stbrody/bf09a00cfed7223401c66b1032929db5 to your computer and use it in GitHub Desktop.
Save stbrody/bf09a00cfed7223401c66b1032929db5 to your computer and use it in GitHub Desktop.
Build BST from sorted input
def buildTree(arr):
return buildTreeHelper(arr, 0, len(arr))
def buildTreeHelper(arr, start, end):
if (end == start):
return None
middleIndex = int((end - start) / 2) # With even number of nodes takes the rightmost node in the left half and makes it root.
node = Node(arr[middleIndex])
node.left = buildTreeHelper(arr, start, middleIndex)
node.right = buildTreeHelper(arr, middleIndex, end)
return node
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment