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

江阴网站制作设计建设厅八大员

江阴网站制作设计,建设厅八大员,做网站是什么意思,飞凡网站建设题目引用 找树左下角的值路径总和从中序与后序遍历构造二叉树 今天就简简单单三道题吧~ 1. 找到树左下角的值 给定一个二叉树的 根节点 root#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 我们…题目引用 找树左下角的值路径总和从中序与后序遍历构造二叉树 今天就简简单单三道题吧~ 1. 找到树左下角的值 给定一个二叉树的 根节点 root请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 我们来分析一下题目最底层的叶子节点所以我们要求出树的深度并且进行判断他是否到达底层。首先我们定义一个全局变量res和全局变量maxDep来记录递归过程中更深的节点和更深节点的值。然后我们判断当前节点有没有左右孩子节点如果有我们递归进那个节点并更新res和maxDep同时定义局部变量depth将其后传进下一层当其操作完返回这一层时将depth--用作向右孩子递归的参数。而这个过程就叫做回溯。 我们来看代码 int res;int maxDepINT_MIN;void travisal(TreeNode* root,int depth){if(root-leftNULLroot-rightNULL){if(depthmaxDep){maxDepdepth;resroot-val;}return;}if(root-left){depth;travisal(root-left,depth);depth--;}if(root-right){depth;travisal(root-right,depth);depth--;}}int findBottomLeftValue(TreeNode* root) {travisal(root,0);return res;}2.路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径这条路径上所有节点值相加等于目标和 targetSum 。如果存在返回 true 否则返回 false 。 叶子节点 是指没有子节点的节点。 示例 1 输入root [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum 22 输出true 解释等于目标和的根节点到叶节点路径如上图所示。 我们来看题目这道题其实知道了原理就和上道题大差不差了。上一道题目是找到最底层的节点的值而这一道题目是找到一条相加为0的路径两道题目都需要我们在二叉树中一层一层的寻找符合条件的节点并且返回它那么我们是不是不难写出这样的模版 看情况返回类型 traversal(TreeNode* root,//第二变量用于判断){//对每一个节点要做的操作if(root-left){//增加条件//递归左边//减少条件}if(root-right){//增加条件//递归右边//减少条件}//考虑是否返回}那么我们在这道题就将相加改为一开始就有一个变量等于targetSum逐层减去每个节点的val一旦0就返回true。 来看代码 bool traversal(TreeNode* root,int count){if(!root-left!root-rightcount0) return true;if(!root-left!root-right) return false;if(root-left){count-root-left-val;if(traversal(root-left,count)) return true;countroot-left-val;}if(root-right){count-root-right-val;if(traversal(root-right,count)) return true;countroot-right-val;}return false;}bool hasPathSum(TreeNode* root, int targetSum) {if(rootNULL) return false;return traversal(root,targetSum-root-val);}大家看一旦我们整理出规律是不是这类题目我们只要考虑细节条件就能迎刃而解呢 3.从中序与后序遍历构造二叉树 给定两个整数数组 inorder 和 postorder 其中 inorder 是二叉树的中序遍历 postorder 是同一棵树的后序遍历请你构造并返回这颗 二叉树 。 示例 1: 输入inorder [9,3,15,20,7], postorder [9,15,7,20,3] 输出[3,9,20,null,null,15,7] 这道题目我们在学习数据结构时就做过现在只要模拟过程就能解决啦。直接看代码 TreeNode* traversal(vectorint inorder,vectorint postorder){if(postorder.size()0) return NULL;int rootValuepostorder[postorder.size()-1];TreeNode* rootnew TreeNode(rootValue);if(postorder.size()1) return root;int delimitIndex;for(delimitIndex0;delimitIndexinorder.size();delimitIndex){if(inorder[delimitIndex]rootValue) break;}vectorint leftInorder(inorder.begin(),inorder.begin()delimitIndex);vectorint rightInorder(inorder.begin()delimitIndex1,inorder.end());postorder.resize(postorder.size()-1);vectorint leftPostorder(postorder.begin(),postorder.begin()leftInorder.size());vectorint rightPostorder(postorder.begin()leftInorder.size(),postorder.end());root-lefttraversal(leftInorder,leftPostorder);root-righttraversal(rightInorder,rightPostorder);return root;}TreeNode* buildTree(vectorint inorder, vectorint postorder) {if (inorder.size() 0 || postorder.size() 0) return NULL;return traversal(inorder, postorder);}总结 今天的题目其实就是昨天的拓展与提升大家务必将昨天的消化了再来做今天的题目。
http://www.w-s-a.com/news/131867/

相关文章:

  • 网站设计模式三网合一网站源代码
  • 珠海市品牌网站建设哪家好宛城区网站制作
  • 网站维护工程师代写文章兼职
  • 贵州城乡和建设厅网站企业网站备案名称窍门
  • .cc后缀网站湛江霞山
  • 青岛制作网站软件ui设计培训哪里好
  • 网站建设的构思环保公司宣传册设计样本
  • 如何做微网站网站和网店的区别
  • 免费下载建设银行官方网站下载天河区做网站
  • 中文网站建设开发北京网站建设公司升上去
  • 邯郸网站设计 贝壳下拉服务器绑定网站打不开
  • 重庆网站建设帝玖科技手机网站建设价钱是多少
  • 广西建设厅网站行业网学新媒体运营要多少钱
  • 石家庄个人建站网站策划门户网什么意思
  • 沈阳市浑南区城乡建设局网站wordpress 批量打印
  • 网站建设都需学哪些天津网站建设交易
  • 公司网站空间家装室内设计
  • 一个考试网站怎么做品牌建设10阶梯
  • 网站建设网站设计广东双语网站建设多少钱
  • 临时手机号注册网站建筑效果图
  • wordpress网站是什么类似wordpress博客
  • 国际网站空间昆明做网站开发维护的公司
  • 建网站选号域名网站优化大赛
  • 师范街网站建设广告制作公司口号
  • 电子商务网站开发设计报告为什么wordpress主题中字体不统一
  • 百度站长快速收录网站建设完工确认书
  • 企业网站备案代理商建设工程施工合同2013
  • 要学做网站wordpress xss漏洞
  • 白云品牌型网站建设在网上做国际快递淘宝网站
  • 无锡网站建设方式推广软件赚钱的app