Update and rename all_subnotes_bst.py to bst_all_subnodes.py

This commit is contained in:
marina 2023-08-07 16:53:25 -07:00 committed by GitHub
parent aca9429097
commit 6b3923e32c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,7 +3,7 @@
# author: bt3gl # author: bt3gl
class TreeNode: class Node:
def __init__(self, val=0, left=None, right=None): def __init__(self, val=0, left=None, right=None):
self.val = val self.val = val
self.left = left self.left = left
@ -21,19 +21,19 @@ def all_possible_bst(start, end, memo):
return memo[(start, end)] return memo[(start, end)]
for i in range(start, end + 1): for i in range(start, end + 1):
left = all_possible_bst(start, i-1, memo) left = all_possible_bst(start, i - 1, memo)
right = all_possible_bst(i+1, end, memo) right = all_possible_bst(i + 1, end, memo)
for l in left: for l in left:
for r in right: for r in right:
root = TreeNode(i, l, r) root = Node(i, l, r)
result.append(root) result.append(root)
memo[(start, end)] = result memo[(start, end)] = result
return result return result
def generateTrees(n) -> List[Optional[TreeNode]]: def generate_trees(n):
memo = {} memo = {}
return all_possible_bst(1, n, memo) return all_possible_bst(1, n, memo)