题目

image.png

思路

  • 直接先序遍历,使用一个变量sum记录每次经过一次递归后的值都要乘以10+root.val的,递归结束条件就是当前节点是叶子节点或为null

    代码

    1. public int sumNumbers(TreeNode root) {
    2. return recur(root, 0);
    3. }
    4. public int recur(TreeNode root, int sum) {
    5. if (root == null) return 0;
    6. sum = sum * 10 + root.val;
    7. if (root.left == null && root.right == null) return sum;
    8. return recur(root.left, sum) + recur(root.right, sum);
    9. }

    求根到叶子节点数字之和