当前位置: 首页 > news >正文

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

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

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

相关文章:

  • Java学习第一百二十三部分——HTTP/HTTPS
  • 一文学习nacos和openFeign
  • MariaDB 数据库管理
  • 【牛客刷题】小红的项链(字节跳动面试题)
  • Graham 算法求二维凸包
  • OpenEnler等Linux系统中安装git工具的方法
  • WGS84 与 ITRF 坐标系的差异及转换算法详解
  • Linux | i.MX6ULL移植 ssh 服务到开发板(第十五章)
  • 苍穹外卖-Day1 | 环境搭建、nginx、git、令牌、登录加密、接口文档、Swagger
  • 攻击实验(ARP欺骗、MAC洪范、TCP SYN Flood攻击、DHCP欺骗、DHCP饿死)
  • 【接口自动化】初识pytest,一文讲解pytest的安装,识别规则以及配置文件的使用
  • YOLOv11 模型轻量化挑战:突破边缘计算与实时应用的枷锁
  • Ollama+Deepseek+Docker+RAGFlow打造自己的私人AI知识库
  • C语言深度剖析
  • Docker 详细介绍及使用方法
  • 【东枫科技】 FR2 Massive MIMO 原型验证与开发平台,8*8通道
  • DBSACN算法的一些应用
  • 力扣-20.有效的括号
  • Design Compiler:布图规划探索(ICC II)
  • 【FPGA】初识FPGA
  • Jotai:React轻量级状态管理新选择
  • 密码学的数学基础2-Paillier为什么产生密钥对比RSA慢
  • 重学React(四):状态管理二
  • 机器学习第八课之K-means聚类算法
  • 编程基础之多维数组——计算鞍点
  • 【Docker实战】将Django应用容器化的完整指南
  • 【代码随想录day 15】 力扣 257. 二叉树的所有路径
  • [FOC电机控制] 电压频谱图
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘ray’问题
  • Redis一站式指南一:从MySQL事务到Redis持久化及事务实现