24 lines
655 B
Python
24 lines
655 B
Python
def generateTrees(self, n):
|
|
if n == 0: return []
|
|
|
|
def helper(start, end):
|
|
ls = []
|
|
if start > end:
|
|
ls.append(None)
|
|
return ls
|
|
if start == end:
|
|
ls.append(TreeNode(start))
|
|
return ls
|
|
|
|
for i in range(start, end + 1):
|
|
left = helper(start, i - 1)
|
|
right = helper(i + 1, end)
|
|
for lnode in left:
|
|
for rnode in right:
|
|
root = TreeNode(i)
|
|
root.left = lnode
|
|
root.right = rnode
|
|
ls.append(root)
|
|
return ls
|
|
|
|
return helper(1, n) |