-
Notifications
You must be signed in to change notification settings - Fork 212
Expand file tree
/
Copy path95.py
More file actions
24 lines (23 loc) · 757 Bytes
/
95.py
File metadata and controls
24 lines (23 loc) · 757 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def generateTrees(self, n: int) -> List[TreeNode]:
def dfs(l, r):
if r < l: return [None]
arr = []
for m in range(l, r + 1):
left = dfs(l, m - 1)
right = dfs(m + 1, r)
for lNode in left:
for rNode in right:
new = TreeNode(m)
new.left = lNode
new.right = rNode
arr.append(new)
return arr
res = dfs(1, n)
return [] if res == [None] else res