Java-LeetCode129. 求根到叶子节点数字之和-递归

二叉树根节点到叶子节点的所有路径和

http://www.nowcoder.com/questionTerminal/185a87cd29eb42049132aed873273e83

  • 算法
    • 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;
    }
}
全部评论

相关推荐

有没有友友知道这样是开启下一个志愿还是在池子里等人捞
早饭有梨:为什么有的是回到人才池,有的是变成筛选中,我二面挂直接变回筛选中了
点赞 评论 收藏
分享
02-16 13:52
门头沟学院 Java
给🐭🐭个面试机会吧:嘿,mvbatis
点赞 评论 收藏
分享
Dream_coding:你是不是只投大厂了
点赞 评论 收藏
分享
评论
18
8
分享

创作者周榜

更多
牛客网
牛客企业服务