Skip to content

Commit 087c9aa

Browse files
authored
Update balance-a-binary-search-tree.py
1 parent 323963f commit 087c9aa

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

Python/balance-a-binary-search-tree.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -62,26 +62,22 @@ def balanceBST(self, root):
6262
:type root: TreeNode
6363
:rtype: TreeNode
6464
"""
65-
def inorderTraversal(root):
66-
def inorderTraversalHelper(node, arr):
67-
if not node:
68-
return
69-
inorderTraversalHelper(node.left, arr)
70-
arr.append(node.val)
71-
inorderTraversalHelper(node.right, arr)
72-
73-
arr = []
74-
inorderTraversalHelper(root, arr)
75-
return arr
65+
def inorderTraversalHelper(node, arr):
66+
if not node:
67+
return
68+
inorderTraversalHelper(node.left, arr)
69+
arr.append(node.val)
70+
inorderTraversalHelper(node.right, arr)
7671

77-
def sortedArrayToBst(arr, i, j):
72+
def sortedArrayToBstHelper(arr, i, j):
7873
if i >= j:
7974
return None
8075
mid = i + (j-i)//2
8176
node = TreeNode(arr[mid])
82-
node.left = sortedArrayToBst(arr, i, mid)
83-
node.right = sortedArrayToBst(arr, mid+1, j)
77+
node.left = sortedArrayToBstHelper(arr, i, mid)
78+
node.right = sortedArrayToBstHelper(arr, mid+1, j)
8479
return node
8580

86-
arr = inorderTraversal(root)
87-
return sortedArrayToBst(arr, 0, len(arr))
81+
arr = []
82+
inorderTraversalHelper(root, arr)
83+
return sortedArrayToBstHelper(arr, 0, len(arr))

0 commit comments

Comments
 (0)