题解 | #二叉树根节点到叶子节点的所有路径和#

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

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


import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    int count = 0;
    /**
     *
     * @param root TreeNode类
     * @return int整型
     */
    public int sumNumbers (TreeNode root) {
        if(root==null) return 0;
        dg(root, new ArrayList<>());
        return count;
    }

    private void dg (TreeNode root, List<Integer> lj) {
        if(root==null) return;

        lj.add(root.val);
        if(root.left==null && root.right==null){ // 叶子节点,计算路径值
            int sum = 0;
            int cj = 1;
            for (int i = lj.size()-1; i >= 0; i--) {
                sum += lj.get(i) * cj;
                cj*=10;
            }
            count += sum;

        }
        if(root.left!=null) dg(root.left, lj); // 遍历左子节点
        if(root.right!=null) dg(root.right, lj); // 遍历右子节点
        lj.remove(lj.size() - 1);
    }
}
全部评论

相关推荐

一只乌鸦:这不才9月吗,26到明年毕业前能一直找啊,能拿下提前批,转正的,offer打牌的都是有两把刷子的,为什么非要跟他们比。如果别人是9本硕+金牌+好几段大厂实习呢?如果别人是双非通天代呢?如果别人是速通哥呢?,做好自己就行了,我们做不到他们一样提前杀死比赛,但晚点到终点也没啥关系吧
双非应该如何逆袭?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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