Skip to content

Commit 7b61e32

Browse files
committedJul 16, 2020
2020-07-15
1 parent 8391863 commit 7b61e32

File tree

2 files changed

+37
-8
lines changed

2 files changed

+37
-8
lines changed
 

‎0096.不同的二叉搜索树/0096-不同的二叉搜索树.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ def numTrees(self, n):
44
:type n: int
55
:rtype: int
66
"""
7-
dic = {0:1, 1:1}
8-
7+
res = [0] * (n+1)
8+
res[0] = 1
9+
res[1] = 1
910
for i in range(2, n + 1):
10-
cnt = 0
11-
for l in range(0, i):
12-
cnt += dic[l] * dic[i - 1 - l]
13-
dic[i] = cnt
14-
15-
return dic[n]
11+
for j in range(i):
12+
res[i] += res[j] * res[i-j-1]
13+
14+
return res[n]
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Solution(object):
2+
def isBipartite(self, graph):
3+
"""
4+
:type graph: List[List[int]]
5+
:rtype: bool
6+
"""
7+
dic = {}
8+
self.res = True
9+
10+
def dfs(node):
11+
if not self.res:
12+
return
13+
14+
for child in graph[node]:
15+
# print node, child
16+
if child in dic:
17+
if dic[child] == dic[node]:
18+
# print child, node, graph, dic
19+
self.res = False
20+
return
21+
else:
22+
dic[child] = not dic[node]
23+
dfs(child)
24+
25+
for node in range(len(graph)):
26+
if node not in dic:
27+
dic[node] = True
28+
dfs(node)
29+
return self.res
30+

0 commit comments

Comments
 (0)
Please sign in to comment.