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

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

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

import java.util.*;

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

public class Solution {
    /**
     * 
     * @param root TreeNode类 
     * @return int整型
     */
    public int sumNumbers (TreeNode root) {
        if(root == null) return 0 ;
        List<String> list = new ArrayList<>() ;
        dfs(root , "" , list) ;
        int count = 0 ;
        for(String str : list) {
            count += Integer.parseInt(str) ;
        }
        return count ;
    }
    //深搜,把完整的路径保留在list中
    public void dfs(TreeNode root , String tmp , List<String> list) {
        if(root.left == null && root.right == null) {
            list.add(tmp+root.val) ;
            return ;
        }
        if(root.left != null) {
            dfs(root.left , tmp + root.val , list) ; 
        } 
        if(root.right != null) {
            dfs(root.right , tmp + root.val , list) ; 
        }
    }
}

一个菜鸟的算法刷题记录 文章被收录于专栏

分享一个菜鸟的成长记录

全部评论

相关推荐

10-30 19:23
已编辑
山东大学(威海) C++
牛至超人:其实简历是不需要事无巨细的写的,让对方知道你有这段经历就行了,最重要的是面试的时候讲细讲明白
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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