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

网站策划建设方案书徐州建站平台

网站策划建设方案书,徐州建站平台,手机上怎么做网站创业,找人做的网站怎么个人主页#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏#xff1a;http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言#xff1a;这个专栏主要讲述递归递归、搜索与回溯算法#xff0c;所以下面题目主要也是这些算法做的 我讲述…个人主页元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言这个专栏主要讲述递归递归、搜索与回溯算法所以下面题目主要也是这些算法做的   我讲述题目会把讲解部分分为3个部分 1、题目解析 2、算法原理思路讲解 3、代码实现 一、求根节点到叶节点数字之和 题目链接 求根节点到叶节点数字之和 题目 给你一个二叉树的根节点 root 树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字 例如从根节点到叶节点的路径 1 - 2 - 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数字之和 。 叶节点 是指没有子节点的节点。 示例 1 输入root [1,2,3] 输出25 解释 从根到叶子节点路径 1-2 代表数字 12 从根到叶子节点路径 1-3 代表数字 13 因此数字总和 12 13 25 示例 2 输入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 二、解法   题目解析 这道题目的意思是给我们一棵二叉树让我们计算从根节点到叶节点生成的 所有数字之和 。 例如 示例 从根到叶子节点路径 4-9-5                代表数字 495 从根到叶子节点路径 4-9-1                代表数字 491 从根到叶子节点路径 4-0                   代表数字 40 因此数字总和 495 491 40 1026 算法原理思路讲解  注意我们在做递归这一类题目是要将递归看作一个黑盒我们不管他是如何实现的我们就相信他一定可以帮助我们完成目标 递归思路 1、设计函数头寻找重复子问题并且将递归函数看作一个黑盒。 2、设计函数体只关心一个子问题并解决它 3、设计函数出口递归的终止条件 算法思路 根据题目意思可得我们可以使用一个前序遍历 在前序遍历的过程中我们可以往左右⼦树传递信息并且在回溯时得到左右⼦树的返回值。递归函数可以帮我们完成两件事 1.、将⽗节点的数字与当前节点的信息整合到⼀起计算出当前节点的数字然后传递到下⼀层进⾏递归 2、当遇到叶⼦节点的时候就不再向下传递信息⽽是将整合的结果向上⼀直回溯到根节点。 在递归结束时根节点需要返回的值也就被更新为了整棵树的数字和。 把上面翻译一下就是  例如对于节点9来说 1、节点9将⽗节点的数字4与自己的数字9结合在一起成49传递到下一层 2、当遇到节点5的时候就不再向下传递信息⽽是将整合的结果495返回 1、设计函数头 int dfs(TreeNode* root, int num) 1 返回值当前⼦树计算的结果数字和  2参数 num递归过程中往下传递的信息⽗节点的数字 3 函数作⽤整合⽗节点的信息与当前节点的信息计算当前节点数字并向下传递在回溯时返回当前⼦树当前节点作为⼦树根节点数字和。 2、设计函数体只关心一个子问题并解决它 当遇到空节点的时候说明这条路从根节点开始没有分⽀返回 0 结合⽗节点传下的信息以及当前节点的 val计算出当前节点数字 presum 如果当前结点不是叶⼦节点将 presum 传到左右⼦树中去得到左右⼦树中节点路径的数字和然后相加后返回结果。 presum presum * 10 root-val;int ret 0; if(root-left) ret dfs(root-left, presum); if(root-right) ret dfs(root-right, presum); return ret; 3、设计函数出口 如果当前结点是叶⼦节点直接返回整合后的结果 presum if(root-left nullptr root-right nullptr)return presum; 以上思路就讲解完了大家可以先自己先做一下 时间复杂度O(n)其中 n 是二叉树的节点个数。对每个节点访问一次。空间复杂度O(n)其中 n 是二叉树的节点个数。空间复杂度主要取决于递归调用的栈空间递归栈的深度等于二叉树的高度最坏情况下二叉树的高度等于节点个数空间复杂度为 O(n)。 代码实现 /*** 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 dfs(TreeNode* root, int presum){presum presum * 10 root-val;if(root-left nullptr root-right nullptr)return presum;int ret 0;if(root-left) ret dfs(root-left, presum);if(root-right) ret dfs(root-right, presum);return ret;}int sumNumbers(TreeNode* root) {return dfs(root,0);} };
http://www.pierceye.com/news/793154/

相关文章:

  • 做网站用vue还是用jquery济宁网站建设 中企动力临沂
  • 网站专题教程最吸引人的营销广告词
  • 瑞安网站网站建设如何推广自己的店铺
  • 建设网站花都水泥公司网站建设
  • asp网站怎么下载源码农业做的好的网站
  • 导购网站怎么做视频教学网页设计与制作教程第5版
  • 建设部施工安全管理网站网站建设公司如何
  • 企业商城建站公司网站页面加密
  • 昆山教育云平台网站建设软件工程师考试报名
  • ps做网站大小尺寸大连开发区商场
  • 化妆品网站建设网站右键禁止
  • wordpress 没有样式表网站如何免费做SEO优化
  • 青岛有没有专门做淘宝网站中国建设人才网站
  • 网站移动端是什么问题吗怎样自己做免费的网站
  • 做网站没有做退钱宁波品牌策划公司
  • 网站备案 不关站家乡网页制作模板
  • 成都网站建设企业 排名网络营销推广方案ppt
  • 阳西住房和城乡规划建设局网站微信公众号商城制作
  • 石家庄自助建站软件邯郸做紧固件网站
  • 做川菜的网站动画制作网页
  • 网站建设的英文域名注册需要什么条件
  • wordpress管理系统贵州seo和网络推广
  • 网站第二次备案设计方案审核合格后由谁签字确认
  • 网页设计和网站编辑wordpress 页面瀑布流
  • 福田网站建设龙岗网站建设ie的常用网站
  • 网站推广途径和推广要点地产网站方案
  • 用asp做的网站2021互联网公司100强
  • 网站运营无经验可以做吗垂直类网站怎么做
  • 中国站长网站wordpress开启xmlrpc
  • 网站建设的好处建设工程质量管理条例网站