input: Write a function to determine if two binary trees are similar in structure and values. If the trees are similar, return True; otherwise, return False. If both trees are empty, return True.
  assert are_similar(None, None)==True
  assert are_similar(TreeNode(1), None)==False
  assert are_similar(None, TreeNode(1))==False
  root1 = TreeNode(1)
  root1.left = TreeNode(2)
  root1.right = TreeNode(3)
  root2 = TreeNode(1)
  root2.left = TreeNode(2)
  root2.right = TreeNode(3)
  assert are_similar(root1, root2)==True
  root2.right = TreeNode(4)
  assert are_similar(root1, root2)==False
output: def are_similar(root1, root2):
      if not root1 and not root2:
          return True
      if not root1 or not root2:
          return False
      if root1.val != root2.val:
          return False
      return are_similar(root1.left, root2.left) and are_similar(root1.right, root2.right)