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

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
18
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务