【代码随想录day 16】 力扣 112. 路径总和

求路径总和,明确以下几点:

  1. 从根节点遍历到叶子节点,count一路减去val,当到叶子节点count正好为0时,证明这条路径就是答案,返回true
  2. 一旦收到true就停止遍历,找到一条答案就不找其他的了
  3. 当一条路径遍历完后需要回溯,count值也应该要加回来
  4. 在第一次进入递归函数时count就要减去root的val了。
cpp 复制代码
class Solution {
public:
    bool traversal(TreeNode *node, int count)
    {
        //判断终止条件
        //1.遍历到叶子节点,count逐渐减为0
        //2.遍历到叶子节点,但count不为0
        if(node->left == NULL && node->right == NULL && count == 0)
        {
            return true;
        }
        if(node->left == NULL && node->right == NULL && count != 0)
        {
            return false;
        }
        //开始递归 左
        if(node->left)
        {
            //先减去count
            count = count - node->left->val;
            //递归
            if(traversal(node->left,count))
            {
                return true;
            }
            //回溯
            count = count + node->left->val;
        }
        //开始递归 右
        if(node->right)
        {
            //先减去count
            count = count - node->right->val;
            //递归
            if(traversal(node->right,count))
            {
                return true;
            }
            //回溯
            count = count + node->right->val;
        }
        return false;
    }
    bool hasPathSum(TreeNode* root, int targetSum) {
        if(!root) return false;
        bool result = traversal(root,targetSum-root->val);

        return result;
    }
};
相关推荐
2zcode几秒前
基于Matlab能带态密度的载流子迁移-发射过程数值模拟与光强依赖性分析
人工智能·算法·matlab
迷知悟道2 分钟前
java基础之面向对象的四大核心特性之封装---超详细
java
Asmalin16 分钟前
【代码随想录day 22】 力扣 40.组合总和II
java·算法·leetcode
FrankYoou30 分钟前
Spring MVC + JSP 项目的配置流程,适合传统 Java Web 项目开发
java·spring·springmvc
七夜zippoe33 分钟前
AI 赋能 Java 开发效率:全流程痛点解决与实践案例(一)
java·开发语言·人工智能
翻斗花园刘大胆40 分钟前
JavaSE之String 与 StringBuilder 全面解析(附实例代码)
java·开发语言·jvm·git·java-ee·intellij-idea·html5
Poppy .^0^41 分钟前
Tomcat 全面指南:从目录结构到应用部署与高级配置
java·tomcat
jtymyxmz43 分钟前
刷题日记0902
算法·leetcode
一 乐1 小时前
在线宠物用品|基于vue的在线宠物用品交易网站(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·|在线宠物用品交易网站
shepherd1111 小时前
深入解析Flowable工作流引擎:从原理到实践
java·后端·工作流引擎