Skip to content

Commit edacbcc

Browse files
author
Chris Wu
committed
no message
1 parent 3ee6d5f commit edacbcc

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

problems/same-tree.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from collections import deque
2+
3+
class Solution(object):
4+
def isSameTree(self, p, q):
5+
q1 = deque([p])
6+
q2 = deque([q])
7+
while q1 or q2:
8+
if not q1 or not q2: return False
9+
n1 = q1.popleft()
10+
n2 = q2.popleft()
11+
12+
if n1 and n2:
13+
if n1.val!=n2.val: return False
14+
q1.append(n1.left)
15+
q1.append(n1.right)
16+
q2.append(n2.left)
17+
q2.append(n2.right)
18+
elif n1 and not n2:
19+
return False
20+
elif not n1 and n2:
21+
return False
22+
return True
23+

problems/symmetric-tree.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from collections import deque
2+
3+
class Solution(object):
4+
def isSymmetric(self, root):
5+
if not root: return True
6+
7+
q = deque()
8+
q.append((root.left, root.right))
9+
while q:
10+
left_node, right_node = q.popleft()
11+
if not left_node and right_node: return False
12+
if not right_node and left_node: return False
13+
14+
if left_node and right_node:
15+
if left_node.val!=right_node.val: return False
16+
q.append((left_node.right, right_node.left))
17+
q.append((left_node.left, right_node.right))
18+
return True

0 commit comments

Comments
 (0)