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);
    }
}
相关推荐
_不会dp不改名_几秒前
leetcode_3273 数位平方和的最大值
算法·leetcode·职场和发展
vivo互联网技术1 分钟前
SSR-Merge:把 LoRA 合并从"参数算术"变成"信号路由" | ICML 2026
人工智能·算法·计算机视觉
罗湖老棍子2 分钟前
座位安排(洛谷-P2071)
c++·算法·图论·匈牙利算法·二分图匹配
巴糖8 分钟前
挑礼物这件事,暴露了你做选择时最大的问题
算法
用户73416810354811 分钟前
控制与监测特征的联合表征:复杂动力装备变工况故障诊断的发展方向
算法
垆边人似月.15 分钟前
华为题:无重复字符的最长子串变种
算法
糖果豆豆22 分钟前
灾难性遗忘不是"新旧打架"——旧知识记不住,是因为它没长成"环"
算法
垆边人似月.23 分钟前
华为题:任务调度
数据结构·c++·算法
垆边人似月.24 分钟前
华为题:编辑距离
算法·华为
会灭火的程序员25 分钟前
大模型部署硬件资源计算指南:从显存估算到显卡选型
人工智能·算法