Leetcode 112. 路径总和

题目链接:https://leetcode.cn/problems/path-sum/description/

思路

  • 递归,先序遍历二叉树,每遍历一个节点便减去当前存储值(targetSum = targetSum - root.val);
  • 当到达某个节点等于targetSum (targetSum == root.val),判断该节点是否为叶子节点(root.left == null && root.right == null),如果是那么返回true;
  • 如果该节点不满足targetSum,那么递归遍历左子树和右子树(hasPathSum(root.left,targetSum - root.val) || hasPathSum(root.right,targetSum - root.val)),任意一个返回true就成功。

代码实现

java 复制代码
class Solution {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        if(root==null){ //空节点
            return false;
        }
        if(root.left == null && root.right == null){ // 该节点为叶子节点
            return targetSum == root.val; //相等则为true
        }
        return hasPathSum(root.left,targetSum - root.val) || hasPathSum(root.right,targetSum - root.val);
    }
}
相关推荐
什巳5 小时前
JAVA练习309- 二叉树的层序遍历
java·数据结构·算法·leetcode
什巳7 小时前
JAVA练习306- 翻转二叉树
java·数据结构·算法·leetcode
smj2302_796826527 小时前
解决leetcode第3989题网格中保持一致的最大列数
python·算法·leetcode
ychqsq8 小时前
88.归途
经验分享·职场和发展
巧克力男孩dd8 小时前
Python超典型练习题(第一次作业)
开发语言·python·算法
爱刷碗的苏泓舒8 小时前
平方根信息滤波:矩阵推导及 GNSS 参数估计应用
线性代数·算法·矩阵·gnss·参数估计·测量平差·平方根信息滤波
想做小南娘,发现自己是女生喵9 小时前
第 2 章 顺序表和 vector
java·数据结构·算法
艾醒10 小时前
2026年第29周(7.13-7.19)AI全复盘:技术突破、行业趣闻翻车、算力服务器商业动态
人工智能·算法
雪碧聊技术10 小时前
动态规划算法—01背包问题
算法·动态规划
bu_shuo11 小时前
c与cpp中的argc和argv
c语言·c++·算法