129. 求根到叶子节点数字之和

>> 饿了么、美团外卖红包领取地址<<

题目:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/

代码:

class Solution {

    public int sumNumbers(TreeNode root) {
        return this.sumNumbers(root, 0);
    }

    private int sumNumbers(TreeNode node, int preNum) {
        if (node == null) {
            return 0;
        }
        //当前节点所代表的数字
        int num = preNum * 10 + node.val;
        if (node.left == null && node.right == null) {
            //叶子节点,num就是结果
            return num;
        }else{
            //非叶子节点,需要递归
            return this.sumNumbers(node.left, num) + this.sumNumbers(node.right, num);
        }
    }

}

新增一个方法,node参数为树中的某一个节点,preNum为根节点到当前节点之前所代表的数字(未包含当前节点的值),根据题目意思,则当前节点所代表的的数字值为代码中标红部分。有了这个方法,剩下的只要根据条件判断及递归即可。


觉得内容还不错?打赏个钢镚鼓励鼓励!!👍

维特丝(vetes)泡沫发蜡喷雾干胶定型弹力素羊毛卷男女保湿蓬松发胶 泡沫发蜡450ml+旅行装99ml
¥34.00
维特丝(vetes)一梳黑染发剂染发梳植物潮色显白遮盖白发自然清水纯黑发焗油男女梳炫彩 自然黑LW00
¥49.00
维特丝(vetes)染发笔遮白补染快速染发天然植物一次性染发棒 一次性染发棒黑色
¥46.00
维特丝 护发精油防毛躁清香玫瑰奇焕亮发干枯烫发卷发直发头发润发护发素男女士 滋养柔顺护发精油100ml
¥36.00