Skip to content

Commit c0ccab7

Browse files
committed
removed redundant checks
1 parent ad20e17 commit c0ccab7

File tree

2 files changed

+37
-5
lines changed

2 files changed

+37
-5
lines changed
Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
1+
# recursive
12
class Solution:
2-
def isSymmetric(self, root):
3-
pass
3+
def isSymmetric(self, root: TreeNode) -> bool:
4+
if not root: return True
5+
return self.isMirror(root.left, root.right)
6+
7+
def isMirror(self, nodeLeft, nodeRight):
8+
if not nodeLeft and not nodeRight: return True
9+
if not nodeLeft or not nodeRight: return False
10+
if nodeLeft.val != nodeRight.val: return False
11+
12+
return (self.isMirror(nodeLeft.left, nodeRight.right)
13+
and self.isMirror(nodeLeft.right, nodeRight.left))
14+
15+
# iterative
16+
from collections import deque
17+
18+
class Solution:
19+
def isSymmetric(self, root: TreeNode) -> bool:
20+
q = deque()
21+
q.append(root)
22+
q.append(root)
23+
24+
while q:
25+
node1 = q.popleft()
26+
node2 = q.popleft()
27+
28+
if (node1 is None and node2 is None): continue
29+
if (node1 is None or node2 is None): return False
30+
if (node1.val != node2.val): return False
31+
32+
q.append(node1.left)
33+
q.append(node2.right)
34+
q.append(node1.right)
35+
q.append(node2.left)
36+
37+
return True
38+

leetcode/learn-cards/recursion-1/09_merge_two_sorted_lists.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
1818

1919
class Solution2:
2020
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
21-
if not l1 or not l2:
22-
return l1 or l2
23-
2421
dummy = ListNode(0)
2522
cur = dummy
2623

0 commit comments

Comments
 (0)