diff --git a/binary_search_trees/array_to_bst.py b/binary_search_trees/array_to_bst.py index f69cc42..88ef75b 100644 --- a/binary_search_trees/array_to_bst.py +++ b/binary_search_trees/array_to_bst.py @@ -6,8 +6,15 @@ def __init__(self, value, left = None, right = None): def arr_to_bst(arr): - """ Given a sorted array, write a function to create a - Balanced Binary Search Tree using the elements in the array. - Return the root of the Binary Search Tree. - """ - pass \ No newline at end of file + if not arr: + return None + + # make middle value the root + mid = (len(arr)) // 2 + + root = TreeNode(arr[mid]) + + root.left = arr_to_bst(arr[:mid]) + + root.right = arr_to_bst(arr[mid + 1:]) + return root \ No newline at end of file