본문 바로가기

Algorithm/LeetCode

[LeetCode][Python3] 100. Same Tree

반응형

풀이.

# 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: TreeNode, q: TreeNode) -> bool:

        def isSame(p,q):
            if(p==None and q==None): return True
            elif(p==None or q == None): return False
            elif(p.val!=q.val):
                return False
            elif(p.val == q.val):
                return isSame(p.left,q.left) and isSame(p.right,q.right)
        return isSame(p,q)

 

return isSame(p.left,q.left) and isSame(p.right,q.right)

이 부분의 코드를 통해

            if(p==None and q==None): return True
            elif(p==None or q == None): return False
            elif(p.val!=q.val):
                return False
            elif(p.val == q.val):
                return isSame(p.left,q.left) and isSame(p.right,q.right)

이 코드에서 False가 한번이라도 return 되면 그 상위의 isSame의 리턴 값은 모두 False가 된다.

반응형