알고리즘 공부/LeetCode
[LeetCode] 100. Same Tree 풀이 및 코드
준개발자
2020. 9. 26. 23:41
문제
주어진 두 개의 트리가 같은 트리인지 확인해라.
풀이
이 문제는 각 하위 트리마다 모든 노드들이 같은지 확인해 주면 되므로 깊이우선탐색(DFS)으로 간단하게 풀 수 있다.
코드
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution(object):
def isSameTree(self, p, q):
"""
:type p: TreeNode
:type q: TreeNode
:rtype: bool
"""
if not p and not q:
return True
if not p or not q:
return False
return p.val == q.val and self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)