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

Day92 | 灵神 | 二叉树 路径总和

Day92 | 灵神 | 二叉树 路径总和

112.路径总和

112. 路径总和 - 力扣(LeetCode)

思路:

1.递归函数意义

如果在根节点为t的树中可以找到长度为target的路径就返回true,找不到就返回false

2.参数和返回值

bool tra(TreeNode *t,int target)

参数中的target在传入之前会先减掉当前结点的值作为给下一个结点传入的值

如果在根节点为t的树中可以找到长度为target的路径就返回true,找不到就返回false

3.终止条件(边界条件)

如果我们碰到了空节点,那就是false,说明没找到路径

if(t==nullptr)return false; 

4.本层逻辑(非边界条件)

减去本层节点值之后判断是否是我们要找的路径

即在叶子结点,并且target也减到0了

然后递归遍历左右子树,不管哪边找到了我们都可以返回true

		target-=t->val;if(t->left==nullptr&&t->right==nullptr)return target==0;bool l=tra(t->left,target);bool r=tra(t->right,target);return l||r;	

完整代码:

class Solution {
public:bool tra(TreeNode *t,int target){if(t==nullptr)return false; target-=t->val;if(t->left==nullptr&&t->right==nullptr)return target==0;bool l=tra(t->left,target);bool r=tra(t->right,target);return l||r;}bool hasPathSum(TreeNode* root, int targetSum) {return tra(root,targetSum);}
};/*
class Solution {
public:bool flag=false;void tra(TreeNode *t,int target){if(t==nullptr)return;target-=t->val;if(t->left==nullptr&&t->right==nullptr&&target==0)flag=true;tra(t->left,target);tra(t->right,target);}bool hasPathSum(TreeNode* root, int targetSum) {tra(root,targetSum);return flag;}
};*/
http://www.dtcms.com/a/136274.html

相关文章:

  • Information-Theoretic Limits of Bistatic Integrated Sensing and Communication
  • 危化品经营单位安全生产管理人员备考要点
  • 深入探究Linux编译器gcc/g++:从基础到进阶
  • B2B2C商城系统流程图解析
  • 从零构建机器学习流水线:Dagster+PyTorch实战指南
  • Vue3 SSR 工程化实践:日常工作中的性能优化与实战技巧
  • MySQL 中 `${}` 和 `#{}` 占位符详解及面试高频考点
  • Linux常用基本命令
  • Ubuntu服务器日志满audit:backlog limit exceeded了会报错解决方案-Linux 审计系统 (auditd) 工具
  • Linux红帽:RHCSA认证知识讲解(十 三)在serverb上破解root密码
  • 构建用户友好的记账体验 - LedgerX交互设计与性能优化实践
  • springboot 切面拦截自定义注解
  • 50%时效提升!中巴新航线如何重构ebay跨境电商物流成本?
  • win7/win10/macos如何切换DNS,提升网络稳定性
  • 若依改用EasyCaptcha验证码
  • UE5在场景3D物体上播放本地视频(带声音)
  • 数据挖掘案例-电力负荷预测
  • L2-052 吉利矩阵分
  • Sentinel源码—3.ProcessorSlot的执行过程一
  • 第五章 5.2ESP32物联网应用:HTTP与Web服务器详细教学
  • dfs二叉树中的深搜(回溯、剪枝)--力扣129、814、230、257
  • SpringMVC学习(请求与响应。常见参数类型接收与响应。@RequestParam、@RequestBody的使用)(详细示例)
  • 阿里云集群开启debug
  • LangChain缓存嵌入技术完全指南:CacheBackedEmbedding原理与实践(附代码示例)
  • 遵守 Vue3 的单向数据流原则:父组件传递对象 + 子组件修改对象属性,安全地实现父子组件之间复杂对象的双向绑定示例代码及讲解
  • 道路运输安全员企业负责人考试内容与范围
  • Zookeeper 可观测性最佳实践
  • 【Qt】QWidget 核⼼属性详解
  • 为啥mac日历打不开浏览器
  • 《分布式软总线赋能老旧设备高效通信》