https://youtu.be/Mao9uzxwvmc?si=yG0AiWstMVMAGJxt
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def isSymmetric(self, root: Optional[TreeNode]) -> bool:
def dfs(left, right):
if not left and not right: # 둘다 null
return True
if not left or not right: # 둘 중 하나만 null
return False
return ((left.val == right.val) and
dfs(left.left, right.right) and
dfs(left.right, right.left))
return dfs(root.left, root.right)
내 코드
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def isSymmetric(self, root: Optional[TreeNode]) -> bool:
def same(n1, n2):
if not n1 and not n2: # 둘다 None 이면
return True
if not n1 or not n2: # 하나만 None 이면
return False
if n1.val != n2.val: # 값이 다르면
return False
# 자식들도 각각 반대 방향으로 대칭이어야 함
return same(n1.right, n2.left) and same(n1.left, n2.right)
if not root:
return True
return same(root.left, root.right)'LeetCode > Grind169' 카테고리의 다른 글
| Bit: 191. Number of 1 Bits (0) | 2024.12.17 |
|---|---|
| Bits: 190. Reverse Bits ☆★★ (0) | 2024.12.17 |
| 19. Remove Nth Node From End of List ☆★★★★ (1) | 2024.12.09 |
| 2. Add Two Numbers ☆★★ (0) | 2024.12.07 |
| 128. Longest Consecutive Sequence ☆★★★★★★★★★ (0) | 2024.12.03 |