• 算法
    • 1.递归
    • 2.重载一个函数sumNumbers(TreeNode root, int sum)表示计算到root节点为止的sum值
    • 3.当左右子节点都为null时,是叶子节点,返回sum
    • 4.当左或右子节点不为null时,不是叶子节点,递归计算左或右子节点的sum值
public int sumNumbers(TreeNode root) {
    if (root == null) {
        return 0;
    }

    return sumNumbers(root, root.val);
}

private int sumNumbers(TreeNode root, int sum) {
    if (root.left == null && root.right == null) {
        return sum;
    } else {
        int result = 0;
        if (root.left != null) {
            result += sumNumbers(root.left, sum * 10 + root.left.val);
        }
        if (root.right != null) {
            result += sumNumbers(root.right, sum * 10 + root.right.val);
        }
        return result;
    }
}