【LeetCode面试经典150题】112. 路经总和

一、题目

  • 112. 路径总和 - 力扣(LeetCode)
  • 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false

二、思路

  1. dfs,每条路径上每走过一个结点就减去targetSum,直到叶节点,如果走完完整路径后targetSum正好为0则说明则说明满足题意,此时返回true即可,见解法一

三、解法

解法一

java 复制代码
class Solution {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        if (root == null) {
            return false;
        }
        targetSum -= root.val;
        if (root.left == null && root.right == null) {
            return targetSum == 0;
        }
        return hasPathSum(root.left, targetSum)
                || hasPathSum(root.right, targetSum);
    }
}
相关推荐
jiayong2314 分钟前
AI架构师面试题库 - 完整汇总文档
人工智能·面试·职场和发展
用户987409238871 小时前
llamafactory 0.6.3 没有 llamafactory-cli
算法
计算机安禾1 小时前
【算法分析与设计】第26篇:参数化算法与固定参数可解性理论
大数据·人工智能·算法·机器学习·剪枝
AI科技星2 小时前
基于**v=c(空间光速螺旋运动)唯一第一性原理**重新完整求导证明
人工智能·线性代数·算法·机器学习·架构·概率论·学习方法
风筝在晴天搁浅2 小时前
美团 LeetCode 692.前K个高频单词
算法·leetcode·职场和发展
地平线开发者3 小时前
量化训练时 fusebn/withbn 简介
算法·自动驾驶
不做无法实现的梦~3 小时前
MAVLink 协议教程
linux·stm32·嵌入式硬件·算法
墨白曦煜3 小时前
算法实战笔记:剥开回溯算法的外衣——从通用模板到高阶去重(八)
笔记·算法
z200509303 小时前
今日算法(回溯子集)(模版题)
数据结构·算法·leetcode
吴佳浩3 小时前
Vibe Coding 时代,研发经理为何越来越值钱?
算法·架构