深圳营销型网站建设设计公司,新生活cms安卓系统下载,建设一个网站需要哪方面的费用,开发公司年终工作总结pptLC-路径总和
链接#xff1a;https://leetcode.cn/problems/path-sum/description/
描述#xff1a;给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。…LC-路径总和
链接https://leetcode.cn/problems/path-sum/description/
描述给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径这条路径上所有节点值相加等于目标和 targetSum 。如果存在返回 true 否则返回 false 。 叶子节点 是指没有子节点的节点。
提示 树中节点的数目在范围 [0, 5000] 内 -1000 Node.val 1000 -1000 targetSum 1000
例1 输入root [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum 22 输出true 解释等于目标和的根节点到叶节点路径如上图所示。 例2 输入root [1,2,3], targetSum 5 输出false 解释树中存在两条根节点到叶子节点的路径 (1 -- 2): 和为 3 (1 -- 3): 和为 4 不存在 sum 5 的根节点到叶子节点的路径。 示例 3 输入root [], targetSum 0 输出false 解释由于树是空的所以不存在根节点到叶子节点的路径 前言 做题前还是应该认真审题本题在做之前没有看仔细导致几次没有通过一次是没注意必须走到叶子节点一次是想着当前的值大于还需要的值时就返回导致值为负数时的例子通不过。 代码不多但是细节不少。 思路
代码如下 public boolean hasPathSum(TreeNode root, int targetSum) {if (root null) {return false;}//当前的节点值和目标值一样且当前节点是叶子节点才返回trueif (root.val targetSum (root.left null root.right null)) {return true;}//递归判断节点的左右子树注意中间是‘||’传的值就是当前目标值减去当前节点值return hasPathSum(root.left, targetSum - root.val) || hasPathSum(root.right, targetSum - root.val);}