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

专题二:二叉树的深度搜索(求根节点到叶节点数字之和)

以leetcode129题为例

题目分析: 

从根到叶子结点的一条路径组成的数字,所有数字加在一起返回

算法原理分析:

总问题:给一个结点就返回所有到叶子结点的所有数字之和

在看子问题是不是也这样

我们要分析子问题是不是也一样,要注意分析1,和分析2,和分析4/5/6/等等结点都是一样吗

我们可以抓住其中一个结点分析

以5这个结点分析,如何计算,是不是上层传12,结合这个结点5,

然后去结合左结点8 ,形成1258

结合右结点9,形成1259

因为左结点8已经是叶子结点了就可以当作返回值返回给上一层

然后右节点9接着按照这个方法递归下去,拿到12594+125931的值然后返给结点9

结点8和结点9在相加返回给5

我们在处理每一个问题都是这样

第一步,通过上层传下来的结合本结点形成一个新的数字

第二步:传给左结点

第三步:传给右结点

第四步:把左结点和右节点的返回值相加

注意出口在第二层:因为你是要结合上一层的才返回出去

代码编写:

相关文章:

  • 第三方软件测评中心分享:软件功能测试类型和测试工具
  • 极狐GitLab 通用软件包存储库功能介绍
  • 点下4个Winform UI开源控件库
  • 养生:拥抱健康生活的全方位指南
  • c语言第一个小游戏:贪吃蛇小游戏03
  • 开源链动2+1模式AI智能名片S2B2C商城小程序赋能新微商服务能力升级研究
  • 《Python星球日记》 第66天:序列建模与语言模型
  • Python的安装使用
  • 医学影像处理与可视化:从预处理到 3D 重建的技术实践
  • python3数据类型
  • 大语言模型强化学习双强:OpenRLHF与verl技术解析
  • 精益数据分析(56/126):创业阶段的划分与精益数据分析实践
  • C++ string比较、string随机访问、string字符插入、string数据删除
  • ARM Cortex-M3内核详解
  • MFCC特征提取及Griffin-Lim算法(librosa实现)
  • C++初阶-string类的模拟实现与改进
  • ORB特征点检测算法
  • Java SpringMVC 异常处理:保障应用健壮性的关键策略
  • uni-app微信小程序登录流程详解
  • 【SSM-SpringMVC(三)】Spring接入Web环境!介绍SpringMVC的拦截器和异常处理机制
  • 商务部召开外贸企业圆桌会:全力为外贸企业纾困解难,提供更多支持
  • 旭辉控股集团主席林中:债务重组是活下来的前提,自营开发业务收缩至少数核心城市
  • 欧阳娜娜携家人回江西探亲,受聘为江西吉安文化旅游大使
  • 默茨首访聚焦欧洲,欲推欧洲防务自主
  • 《致1999年的自己》:千禧之年的你在哪里?
  • 广西百色通报:极端强对流天气致墙体倒塌,3人遇难7人受伤