首页 > 其他分享 >LeetCode:112.路径总和

LeetCode:112.路径总和

时间:2025-01-12 18:33:59浏览次数:1  
标签:node right dfs 112 left root LeetCode preVal 总和

LeetCode:112.路径总和

解题思路在深度优先遍历的过程中,记录当前路径的节点值的和。在叶子节点处,判断当前路径的节点值的和是否等于目标值。

解题步骤深度优先遍历二叉树,在叶子节点处,判断当前路径的节点值的和是否等于目标值,是就返回true。遍历结束,如果没有匹配,就返回false。

var hasPathSum = function(root, targetSum) {
    if(!root) return false;
    let result=false
    function dfs(node,preVal){
        if((!node.left&&!node.right)&&preVal===targetSum){
            result=true;
        }
        if(node.left)dfs(node.left,node.left.val+preVal)
        if(node.right)dfs(node.right,node.right.val+preVal)
    }
    dfs(root,root.val)
    return result
};

标签:node,right,dfs,112,left,root,LeetCode,preVal,总和
From: https://www.cnblogs.com/KooTeam/p/18667139

相关文章

  • LeetCode:102.二叉树的层序遍历
    LeetCode:102.二叉树的层序遍历解题思路层序遍历顺序就是广度优先遍历。不过在遍历时候需要记录当前节点所处的层级,方便将其添加到不同的数组中。/***Definitionforabinarytreenode.*functionTreeNode(val,left,right){*this.val=(val===undefined?0:......
  • leetcode3333 找到初始输入字符串II
    用键盘输入字符时,可能因为在一个键上停留太久,导致同一个字符被输入多次。给定word表示最终显示的字符串,以及整数k,表示希望输入字符串的最少长度,求希望输入串的总方案数,对1E9+7取模。1<=|word|<=5E5;1<=k<=2000;word只包含小写字母分析:1、假设最终串的长度为n,对其分组循环,把相......
  • LeetCode:111.二叉树的最小深度
    LeetCode:111.二叉树的最小深度解题思路求最小深度,考虑使用广度优先遍历。在广度优先遍历过程中,遇到叶子节点,停止遍历,返回节点层级。解题步骤广度优先遍历整棵树,并记录每个节点的层级。遇到叶子节点,返回节点层级,停止遍历。//dfsvarminDepth=function(root){if(!root......
  • leetcode115 不同的子序列
    给定两个字符串s和t,统计并返回在s的子序列中t出现的个数,结果对1E9+7取模。1<=|s|,|t|<=1000分析:判断两字符串的最后一个字符:如果相同,则可以选择匹配或者不匹配;如果不同,则只能选择不匹配。初始条件:t为空时答案为1。mintdp[1005][1005];classSolution{public:intnumDi......
  • 代码随想录算法训练营第二天 | Leetcode 209、Leetcode 59、kama 44、kama 58
    Leetcode209#include"iostream"#include"vector"usingnamespacestd;intminSubArrayLen(inttarget,vector<int>&nums){intlen=INT32_MAX;intsum=0;for(intj=0,i=0;j<nums.size();j++){......
  • leetcode2585 获得分数的方法数
    考试中有n种类型的题目,给定整数target和二维数组types,其中types[i]=[count[i],marks[i]],表示第i种类型的题目有count[i]道,每道分值为marks[i]。求在考试中恰好得到target分的方法数,答案对1E9+7取模。注意,同类型题目无法区分。1<=target<=1000;1<=n<=50;1<=count[i],marks[i]<=5......
  • 数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)
    将有序数组转换为二叉搜索树https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/描述给你一个整数数组nums,其中元素已经按升序排列请你将其转换为一棵平衡二叉搜索树示例1输入:nums=[-10,-3,0,5,9]输出:[0,-3,9,-10,nul......
  • 数据结构与算法之二叉树: LeetCode 110. 平衡二叉树 (Ts版)
    平衡二叉树https://leetcode.cn/problems/balanced-binary-tree/description/描述给定一个二叉树,判断它是否是平衡二叉树示例1输入:root=[3,9,20,null,null,15,7]输出:true示例2输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3输入:root=[]输......
  • 数据结构与算法之二叉树: LeetCode 117. 填充每个节点的下一个右侧节点指针 II (Ts版)
    填充每个节点的下一个右侧节点指针IIhttps://leetcode.cn/problems/populating-next-right-pointers-in-each-node-ii/description/描述给定一个二叉树:structNode{intval;Node*left;Node*right;Node*next;}填充它的每个next指针,让这个指针指向其......
  • LeetCode热题100中 35. 46. 70. 73. 118.
    35.搜索插入位置题目描述:实现思路:        这里主要就是二分查找,二分查找要注意对边界值的处理,l是数组的第一位,r是数组的最后一位,l<=r我们就返回l,因为我们的判断是nums[mid]<target 取的是mid的左区间已经不包含mid了,所以是 l=mid+1。代码:var......