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

外国做袜子的网站怎么做微信小说网站

外国做袜子的网站,怎么做微信小说网站,嘉兴网站制作平台,做企业网站都需要注意哪点层次遍历#xff1a;又叫广度优先遍历。就是从根节点开始#xff0c;先访问根节点下面一层全部元素#xff0c;再访问之后的层次#xff0c;直到访问完二叉树的最后一层。 我们先看一下基础的层次遍历题#xff0c;力扣102题#xff1a;给你一个二叉树#xff0c;请你返… 层次遍历又叫广度优先遍历。就是从根节点开始先访问根节点下面一层全部元素再访问之后的层次直到访问完二叉树的最后一层。 我们先看一下基础的层次遍历题力扣102题给你一个二叉树请你返回其按层序遍历得到的节点值。(即逐层地从左到右访问所有节点)。 分析先将根节点root放到队列queue中接着遍历队列。遍历当前层次的节点时如果这个节点还有子节点就将其加入队列中如果当前层次遍历完了就将队列的长度重新指向新的队列长度sizeOfQueue,这时队列长度就是下一层的节点个数。 function TreeNode(val, left, right) {this.val (val undefined ? 0 : val)this.left (left undefined ? null : left)this.right (right undefined ? null : right)}/*** 层次遍历自顶向下 *param: {TreeNode} root;*return {number[][]}* * */function levelOrder(root) {if (!root) {return [];}let result [];let queue [];queue.push(root);while (queue.length 0) {let size queue.length;const tempList [];for (let i 0; i size; i) {let t queue.shift();tempList.push(t.val);if (t.left ! null) {queue.push(t.left);}if (t.right ! null) {queue.push(t.right);}}result.push(tempList);}return result;} 在上一题的基础上我们看一下力扣515题给定一棵二叉树的根节点 root 请找出该二叉树中每一层的最大值。 分析这其实就是先进行层次遍历之后找出每一层的最大值即可。我们用一个变量maxValue来记录当前得到的最大值。和本层的每一个节点的值进行比较。 /*** param {TreeNode} root* return {number[]}* */ function largestValues(root) {if (!root) {return [];}const largestValues []; // 存放每一层的最大值let queue [root];while (queue.length 0) {let sizeOfQueue queue.length;let largestValue -Number.MAX_VALUE;while (sizeOfQueue 0) {sizeOfQueue--;const treeNode queue.shift();largestValue Math.max(largestValue, treeNode.val) // 比较大小if (treeNode.left ! null) {queue.push(treeNode.left);}if (treeNode.right ! null) {queue.push(treeNode.right);}}largestValues.push(largestValue); // 把每一层最大值加入存放最大值的数组}return largestValues; }我们再来看一下力扣199题给给定一个二叉树的根节点 root想象自己站在它的右侧按照从顶部到底部的顺序返回从右侧所能看到的节点值。 **分析**这道题也是层次遍历的变种题我们思考一下既然需要我们找到每一层最右边节点的值那在我们遍历每一层节点的时候我们已经将这层节点放入队列是不是只需要判定一下for循环的索引值是否等于队列长度 - 1即可这样我们找到了最右边的节点同样的如果for循环的索引值 0 那么找到的就是这层最左边的节点。 function rightSideView(root) {const result [];let queue [root];if (!root) {return [];}while (queue.length 0) {const sizeOfQueue queue.length;for (let indexOfQueue 0; indexOfQueue sizeOfQueue; indexOfQueue) {const treeNode queue.shift();if (treeNode.left) {queue.push(treeNode.left);}if (treeNode.right) {queue.push(treeNode.right);}// 如果是队列的最后一个节点就是每一层最右边的节点if (indexOfQueue sizeOfQueue - 1) {result.push(treeNode.val);}}}return result; } 总结 掌握了层序遍历的方法就可以对很多二叉树的变种题做出应对。
http://www.sczhlp.com/news/173880/

相关文章:

  • 最有设计感的网站wordpress 禁止地区ip
  • 北京网站建设公司 蓝纤科技 网络服务网站运营的含义是什么
  • 制作网站的要素wordpress怎么实时刷新数据库
  • 速效成交型网站母婴网站建设初衷
  • 沂源网站开发被称为网站开发神器
  • 安徽省建设干部学校网站关停wordpress 底部模板
  • 详细介绍:进阶智能体实战九、图文需求分析助手(ChatGpt多模态版)(帮你生成 模块划分+页面+表设计、状态机、工作流、ER模型)
  • GO_基础2
  • 建站需求注册公司制作网站
  • 网站建设的成本分析广东汕头网络科技有限公司
  • 客栈网站建设代码广州站是指哪个站
  • 网站建设市场价格优惠券网站制作教程
  • 做磨砂卡贴的网站罗山网站建设
  • 阿里巴巴网站分类导航做全屏好看的个人工作室源码
  • 网站开发 强制兼容模式连云区住房和城乡建设局网站
  • 傻瓜网站建设网页设计教程读后感
  • 科普网站栏目建设方案网站下载软件怎么安装
  • 昆明网站服务器如何做网站编辑 沒技术
  • 秦皇岛建设工程信息网站外贸信托是哪个贷款平台
  • 阿里云 网站郑州网站建设 论坛
  • 电影网站建设方案ppt模板下载网站开发课设
  • 淘宝刷网站建设用vs2010做网站登入
  • 两个人能用的一个公司做网站吗wordpress 使用自己的表
  • 现在网络公司做网站是用cms还是新版编程_摄影婚纱官网
  • 百度站长平台推出网站移动化大赛为什么企业网站不是开源系统
  • 淘客网站建设视频网站建站步骤
  • wordpress主机怎么建站怎样做微信网站
  • 优设设计师网站衡水网站制作与推广
  • 不同类型网站优化wordpress如何设置页面布局
  • 花木网站模版给网站做cdn