input: Write a function to calculate the sum of all elements in a given binary tree. If the tree is empty, return 0.
  def sum_tree(root):
      if root is None:
          return 0
  
      return root.val + sum_tree(root.left) + sum_tree(root.right)
  assert sum_tree(None)==0
  assert sum_tree(BinaryTreeNode(1, None, None))==1
  assert sum_tree(BinaryTreeNode(2, BinaryTreeNode(3, None, None), BinaryTreeNode(4, None, None)))==9
  assert sum_tree(BinaryTreeNode(5, BinaryTreeNode(2, BinaryTreeNode(1, None, None), None), BinaryTreeNode(7, None, BinaryTreeNode(8, None, None))))==23
output: def sum_tree(root):
      if root is None:
          return 0
  
      return root.val + sum_tree(root.left) + sum_tree(root.right)