input: Write a function to calculate the sum of all elements in a given binary tree. The function should return the sum. If the tree is empty, the function should return 0.
  assert sum_tree(None)==0
  assert sum_tree(TreeNode(1, TreeNode(2), TreeNode(3)))==6
  assert sum_tree(TreeNode(1, None, TreeNode(3)))==4
  assert sum_tree(TreeNode(5, TreeNode(10, TreeNode(15)), TreeNode(20)))==50
  assert sum_tree(TreeNode(0))==0
output: def sum_tree(root):
      if root is None:
          return 0
      return root.val + sum_tree(root.left) + sum_tree(root.right)