input: Write a function to determine if a given binary tree S is a subtree of another binary tree T. Return True if S is a subtree of T, otherwise return False. If S is None, return True, and if T is None and S is not None, return False.
  assert isSubTree(None, None) == True
  assert isSubTree(Node(1), None) == True
  assert isSubTree(None, Node(1)) == False
  assert isSubTree(Node(1), Node(2)) == False
  assert isSubTree(Node(1), Node(1)) == True
output: def isSubTree(S, T):
      if S is None:
          return True
      if T is None:
          return False
      
      def isSameTree(s, t):
          if s is None and t is None:
              return True
          if s is None or t is None:
              return False
          return s.val == t.val and isSameTree(s.left, t.left) and isSameTree(s.right, t.right)
      
      if isSameTree(S, T):
          return True
      
      return isSubTree(S, T.left) or isSubTree(S, T.right)