input: Write a function to determine if a given binary tree is a subtree of another binary tree. The function should return True if the first tree is a subtree of the second tree and False otherwise. If both trees are empty, return True.
  assert isSubTree(None, None)==True
  root1 = Node(4)
  root1.left = Node(2)
  root1.right = Node(6)
  root1.left.left = Node(1)
  root1.left.right = Node(3)
  root1.right.left = Node(5)
  root1.right.right = Node(7)
  
  root2 = Node(2)
  root2.left = Node(1)
  root2.right = Node(3)
  assert isSubTree(root1, root2)==True
  
  root3 = Node(8)
  root3.left = Node(9)
  root3.right = Node(10)
  assert isSubTree(root1, root3)==False
  
  root4 = None
  assert isSubTree(root1, root4)==True
output: def isSubTree(root1, root2):
      if root2 is None:
          return True
      if root1 is None:
          return False
      
      def isSameTree(p, q):
          if p is None and q is None:
              return True
          if p is None or q is None:
              return False
          return p.val == q.val and isSameTree(p.left, q.left) and isSameTree(p.right, q.right)
      
      if isSameTree(root1, root2):
          return True
      
      return isSubTree(root1.left, root2) or isSubTree(root1.right, root2)