input: Write a function to check if a binary tree is a subtree of another binary tree. If S is None then return True, if T is None and S is not None then return False. If T and S are identical in structure and values then it returns True, otherwise check if S is a subtree of either the left or the right subtree of T.
  assert isSubTree(Node(1), Node(1))==True
  assert isSubTree(Node(1), Node(2))==False
  assert isSubTree(Node(1, left=Node(2), right=Node(3)), Node(1, left=Node(2), right=Node(3)))==True
  assert isSubTree(Node(1, left=Node(2), right=Node(3)), Node(2))==True
  assert isSubTree(None, None)==True
  assert isSubTree(Node(1), None)==True
  assert isSubTree(None, Node(1))==False
output: def isSubTree(S, T):
      if S is None:
          return True
      if T is None:
          return False
      if areIdentical(S, T):
          return True
      return isSubTree(S, T.left) or isSubTree(S, T.right)
  
  def areIdentical(root1, root2):
      if root1 is None and root2 is None:
          return True
      if root1 is None or root2 is None:
          return False
      return (root1.val == root2.val and
              areIdentical(root1.left, root2.left) and
              areIdentical(root1.right, root2.right))