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: