- 算法
- 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; } }