input: Write a function to compare two binary trees and determine if they are similar. If both trees are empty, they are considered similar. If one tree is empty while the other is not, they are not similar. Otherwise, both trees are similar if their root values are equal and their left and right subtrees are also similar.
  assert are_similar(None, None)==True
  assert are_similar(TreeNode(1), None)==False
  assert are_similar(None, TreeNode(1))==False
  assert are_similar(TreeNode(1), TreeNode(1))==True
  assert are_similar(TreeNode(1, TreeNode(2), TreeNode(3)), TreeNode(1, TreeNode(2), TreeNode(3)))==True
  assert are_similar(TreeNode(1, TreeNode(2), TreeNode(3)), TreeNode(1, TreeNode(3), TreeNode(2)))==False
output: def are_similar(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 are_similar(root1.left, root2.left) and are_similar(root1.right, root2.right)