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

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

https://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c

import java.util.*;

public class Solution {

    // 二叉树中和为某一值的路径
    // dfs 遍历树的路径,如果没有就回溯
    // 题中路径定义为从树的根节点一直到叶子结点所经过的结点
    public boolean hasPathSum (TreeNode root, int sum) {
        // write code here
        if(root == null) return false;
        // 判断是否为叶子结点,同时判断当到达叶子结点时,整个路径上的结点和是否等于sum
        if(root.left == null && root.right == null && sum - root.val == 0){
            return true;
        }

        // 分别遍历左右子树,注意每次进入下一层结点都要减去当前节点的值
        return hasPathSum(root.left,sum - root.val) || hasPathSum(root.right, sum - root.val);
        

    }
}

全部评论

相关推荐

给🐭🐭个面试机会...:我擦seed✌🏻
点赞 评论 收藏
分享
LXXXXd:有点杂,想搞自动化的话没必要把法律的经历写上去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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