题解 | #二叉树中和为某一值的路径(三)#

二叉树中和为某一值的路径(三)

http://www.nowcoder.com/practice/965fef32cae14a17a8e86c76ffe3131f

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 *   public TreeNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param root TreeNode类 
     * @param sum int整型 
     * @return int整型
     */
    /*
    题目是任何一个节点开始都可以 因此需要中序遍历的模板遍历一次 每个结点都dfs一次
    
    */
    public int ans = 0;
    public void dfs(TreeNode root,int sum){
        if(root==null) return ;
        sum -= root.val;
        if(sum==0) ans++;
        dfs(root.left,sum);
        dfs(root.right,sum);
    }
    public int FindPath (TreeNode root, int sum) {
        if(root==null) return ans; //如果是null 没有left和right
        dfs(root,sum);
        FindPath(root.left,sum);
        FindPath(root.right,sum);
        return ans;
    }
}

思路:

  1. 先序遍历模板实现把所有结点都遍历一次

2.每一个结点都要作为根节点来进行dfs 查看是否存在一条以此为根的路径

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 你的mentor是什么样的人? #
4542次浏览 33人参与
# 你觉得mentor喜欢什么样的实习生 #
10738次浏览 297人参与
# 平安产险科技校招 #
2431次浏览 0人参与
# 帮我看看,领导说这话什么意思? #
6688次浏览 27人参与
# 26届秋招公司红黑榜 #
13317次浏览 44人参与
# 怎么给家人解释你的工作? #
1705次浏览 17人参与
# 未岚大陆求职进展汇总 #
38146次浏览 114人参与
# 没有家庭托举的我是怎么找工作的 #
12745次浏览 160人参与
# 求职低谷期你是怎么度过的 #
5446次浏览 96人参与
# 实习必须要去大厂吗? #
146862次浏览 1542人参与
# 从哪些方向判断这个offer值不值得去? #
6807次浏览 95人参与
# 同bg的你秋招战况如何? #
158906次浏览 927人参与
# 度小满求职进展汇总 #
10239次浏览 53人参与
# 校招泡的最久的公司是哪家? #
4870次浏览 23人参与
# 面试紧张时你会有什么表现? #
1810次浏览 21人参与
# 你有哪些缓解焦虑的方法? #
37207次浏览 835人参与
# 你喜欢工作还是上学 #
77630次浏览 860人参与
# 入职第一天,你准备什么时候下班 #
85524次浏览 467人参与
# 秋招想进国企该如何准备 #
97755次浏览 487人参与
# 简历无回复,你会继续海投还是优化再投? #
103630次浏览 819人参与
# 机械人的工作环境真的很差吗 #
25092次浏览 119人参与
# 独居后,你的生活是更好了还是更差了? #
28157次浏览 263人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务