one line of code at a time

[leetcode] 100. Same Tree 본문

leetcode

[leetcode] 100. Same Tree

oloc 2024. 9. 19. 11:28

두 개의 이진트리가 있을 때 두 트리가 같은지 판단해야 한다. 

트리의 구조가 같고 트리의 노드가 같은 값을 가질 때 두 개의 이진트리가 같다고 판단한다. 

 

class Solution:
    def isSameTree(self, p: Optional[TreeNode], q: Optional[TreeNode]) -> bool:
        def dfs(tree_a, tree_b):
            if not tree_a and not tree_b:
                return True
            if not tree_a or not tree_b:
                return False
            if tree_a.val != tree_b.val:
                return False

            if not dfs(tree_a.left, tree_b.left):
                return False
            if not dfs(tree_a.right, tree_b.right):
                return False
            return True

        return dfs(p, q)