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);
    }
}
相关推荐
大模型码小白8 分钟前
MCP协议开发实战:从零搭建AI Agent工具链
运维·人工智能·算法·机器学习·自动化
luj_176816 分钟前
断舍离中的项目管理智慧
c语言·开发语言·c++·经验分享·算法
老王爱玩车22 分钟前
关于函数递归的优缺点分析
开发语言·数据结构·学习·算法
无限码力30 分钟前
拼多多 春招&秋招 笔试真题题库目录|笔试题库 + 算法考点详解
算法·pdd笔试真题·pdd笔试真题题解·拼多多春招笔试真题·拼多多秋招笔试真题·拼多多笔试真题题解
OPEN-F38 分钟前
C++进阶教程:文件流与字符串流
开发语言·c++·算法
维克兜率天1 小时前
4.1.3 策略类型全景图:六大策略,你适合哪个
笔记·python·算法·量化
01_ice1 小时前
c++类和对象(中)
c++·算法
纪念 2291 小时前
数据结构排序(一)
数据结构·算法·排序算法
薛定e的猫咪1 小时前
(NeurIPS 2021)MatNet:面向矩阵型关系数据的神经组合优化编码器
人工智能·深度学习·线性代数·算法·矩阵
高亦真1 小时前
今天是学习嵌入式的第32天
linux·学习·算法