개발자가 되고 싶은 준개발자

[LeetCode] 100. Same Tree 풀이 및 코드 본문

알고리즘 공부/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)

리트코드 제출 결과

리트코드 제출 결과


출처

leetcode.com/problems/same-tree/