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

网站建设平台软件哪个好用网站ip pv

网站建设平台软件哪个好用,网站ip pv,企业用什么邮箱比较好,wordpress 查询当月1. 题目链接:129. 求根节点到叶节点数字之和 2. 题目描述: 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1…

1. 题目链接:129. 求根节点到叶节点数字之和

2. 题目描述:

给你一个二叉树的根节点 root ,树中每个节点都存放有一个 09 之间的数字。

每条从根节点到叶节点的路径都代表一个数字:

  • 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123

计算从根节点到叶节点生成的 所有数字之和

叶节点 是指没有子节点的节点。

示例 1:

img

输入:root = [1,2,3]
输出:25
解释:
从根到叶子节点路径 1->2 代表数字 12
从根到叶子节点路径 1->3 代表数字 13
因此,数字总和 = 12 + 13 = 25

示例 2:

img

输入:root = [4,9,0,5,1]
输出:1026
解释:
从根到叶子节点路径 4->9->5 代表数字 495
从根到叶子节点路径 4->9->1 代表数字 491
从根到叶子节点路径 4->0 代表数字 40
因此,数字总和 = 495 + 491 + 40 = 1026

提示:

  • 树中节点的数目在范围 [1, 1000]
  • 0 <= Node.val <= 9
  • 树的深度不超过 10

3. 解法(前序遍历)

前序遍历的顺序为根结点->左子树->右子树

3.1 算法思路:

在前序遍历的过程中,我们可以往左右子树传递信息,并且在回溯时得到左右子树的返回值。递归函数可以帮助我们完成两件事情:

  1. 将父节点的数字与当前节点的信息整合到一起,计算出当前节点的数字,然后传递到下一层进行递归
  2. 当遇到叶子节点的时候,就不再向下传递信息,而是将整合的结果向上一种回溯到根节点

在递归结束时,根节点需要返回的值也就被更新为了整棵树的数字之和

3.2 算法流程:

递归函数设计:int dfs(TreeNode* root,int num)

  1. 返回值:当前子树计算的结果(数字和)
  2. 参数num:递归过程中往下传递的信息(父节点的数字)
  3. 函数作用:整合父节点的信息与当前节点的信息计算当前节点数字,并向下传递,在回溯时返回当前子树(当前节点作为子树根节点)数字和。

递归函数流程:

  1. 当遇到空节点的时候,说明这条路从根节点开始没有分支,返回0
  2. 结合父节点传下的信息以及当前节点的val,计算出当前节点数字num
  3. 如果当前节点是叶子节点,直接返回整合后的结果num
  4. 如果当前节点不是叶子节点,将num传到左右子树中去,得到左右子树节点路径的数字和,然后相加后返回结果

请添加图片描述

3.3 C++算法代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int sumNumbers(TreeNode* root) {return dfs(root,0);}int dfs(TreeNode*root,int num){num=num*10+root->val;//如果左右子树为空,说明是没有左右子树,返回numif(root->left==nullptr&&root->right==nullptr)return num;int ret=0;if(root->left)ret+=dfs(root->left,num);if(root->right)ret+=dfs(root->right,num);return ret;}
};
http://www.yayakq.cn/news/38041/

相关文章:

  • 免费注册网站怎么做链接软件技术毕业后能做什么工作
  • 韩雪个人网站阿里wordpress怎么安装
  • 黄石百度做网站多少钱怎么不用wordpress
  • 做网站做推广有效果吗外贸网站建设 东莞
  • 做网站申请域名空间大理微网站建设
  • 洛阳做公司网站wordpress移动端加底部导航
  • 做网站推广邢台电器 东莞网站建设
  • 网站开发可以多少钱一个月做网站开发有什么专业证
  • 古典风格中药医药企业网站模板源码网络营销工具和方法
  • 网站怎样做排名订阅号 微网站
  • 网站建设备案是什么意思wordpress制作app
  • 提供小企业网站建设html5网站开发开题报告
  • 搭建wordpress网站wordpress wp_query paged
  • 南宁网站平台怎么做竞拍网站
  • 做芯片哪个网站推广网络营销案例ppt
  • 丰县网站建设推广常用的网络推广方式有哪些
  • 广东高端网站建设报价优的网站建设明细报价表
  • 西北建设有限公司官方网站淘宝如何做推广
  • 专门做网站的软件是wordpress后台登不进去
  • 怎么样网站泛解析宿迁网站建设价位
  • 网站主机空间价格做网站前台内容对应填充
  • 免费在线建站南昌网站公司
  • 网站架构是什么意思建设局网站查询
  • p2p网贷网站建设哪家好制定 网站改版优化方案
  • 电子商务网站建设市场做一个网站 多少钱
  • 网站建设 东八区网站编排类型
  • 做翻译的网站建网站要多少钱一年
  • 网站栏目定位中国站长工具
  • 网站设计 书籍广东企业品牌网站建设价格
  • 网站建设怎么在图片上加字中国建设注册管理中心网站首页