이진 트리가 2개 주어졌을 때 같은 트리인지 판별하세요.
# 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: # 둘다 niull
return True
if not p or not q: # 둘중 하나가 null
return False
if p.val != q.val: # 두 노드의 value가 다름
return False
return self.isSameTree(p.right, q.right) and # 순회하면서 value가 일치하면 통과
self.isSameTree(p.left, q.left)