题解 | #牛的奶量统计#

牛的奶量统计

https://www.nowcoder.com/practice/213c039668804add9513bbee31370248

知识点

树,深度遍历

解题思路

进行深度遍历,每次遍历传递上层的累加值,如果当前树的左右子树都为空,判断上层累计值加当前值是否等于targetVal,等于直接返回true,不满住继续寻找其他叶子节点判断。

Java题解

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 targetSum int整型 
     * @return bool布尔型
     */
    public boolean hasPathSum (TreeNode root, int targetSum) {
        // write code here
        if(root == null) return false;
        return fun(root,0,targetSum);
    }

    public boolean fun(TreeNode root, int preNum, int targetSum){
        int num = preNum + root.val;
        boolean ans = false;
        if(root.left == null && root.right == null){
            return num == targetSum;
        }
        if(root.left != null){
            ans = ans || fun(root.left,num,targetSum);
        }
        if(root.right != null){
            ans = ans || fun(root.right,num,targetSum);
        }
        return ans;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
感性的干饭人在线蹲牛友:🐮 应该是在嘉定这边叭,禾赛大楼挺好看的
点赞 评论 收藏
分享
牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务