Python/코딩 문제
[리트코드] 100. Same Tree
green_ne
2022. 2. 28. 08:58
# 문제 설명
두 이진트리의 root가 주어질 때, 이들이 같은 트리인지 반환해라.
# 입출력 예시
입력 | 출력 |
p = [1,2,3] q = [1,2,3] |
True |
p = [1,2] q = [1,null,2] |
False |
p = [1,2,1] q = [1,1,2] |
False |
# 코드 풀이
# 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 isSameTree(self, p: Optional[TreeNode], q: Optional[TreeNode]) -> bool:
if not p and not q:
return True
elif not p or not q:
return False
if p.val != q.val:
return False
if self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right):
return True
# 핵심 포인트
- 현재 노드에서 어떤 조건들이 필요한지 파악한다.
반응형