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);
    }
}
相关推荐
晚风醉蝶7 分钟前
1-16-计数排序-CountingSort
python·算法·排序算法
疯狂打码的少年14 分钟前
【数据结构】排序算法:归并排序与基数排序
数据结构·笔记·算法·排序算法
ychqsq15 分钟前
122.收网
经验分享·职场和发展
fb_1234518 分钟前
Shell 脚本从 0 到精通|脚本规范 + 变量 + 数值运算 + 条件测试(可直接复制,面试必备)
chrome·面试·职场和发展
吃旺旺雪饼的小男孩40 分钟前
U-Net 语义分割详解:原论文、PyTorch 实现与真实消融实
人工智能·pytorch·python·算法
lucas_AI40 分钟前
35 种开源文档抽取配置,只有 4 个跨过 F1 0.5
人工智能·算法·llm
YSoup41 分钟前
2026 安卓面试助手APP(安卓八股、题库)
android·面试·职场和发展
练习时长一年的RL研究者1 小时前
与AI对话后对 Actor-Critic 中 TD Target 的 a‘ 来源总结
算法
大熊背1 小时前
ISP图像处理中大数乘法溢出处理(二)
算法·大数乘法
roman_日积跬步-终至千里1 小时前
【算法3】二叉树中的最大路径和
算法