LeetCode 100: Same Tree (my solution)

Python Solution:

# 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:
        
        #1.p==None, q==None
        #2.p!=None, q!=None, p.val==q.val, left subtree of p == left subtree of q, right subtree of p == right subtree of q  
        
        if not p and not q: # Or p==None
            return True
        
        # first check p and q are not None
        elif p and q and p.val == q.val and self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right):
                return True
        else:            
            return False

 

Time Complexity: O(N)

Space Complexity: O(N)


Feeling tired? You can also try our free online no-installation required casual games: Here Please consider to follow my youtube channel to support me: