怎样制作微信网站展示设计网站有哪些
2026/1/11 4:48:07 网站建设 项目流程
怎样制作微信网站,展示设计网站有哪些,seo推广营销网站,linux下载wordpress题目#xff1a; 给定一个二叉树的 根节点 root#xff0c;想象自己站在它的右侧#xff0c;按照从顶部到底部的顺序#xff0c;返回从右侧所能看到的节点值。 示例 1#xff1a;输入#xff1a;root [1,2,3,null,5,null,4] 输出#xff1a;[1,3,4]解释#xff1a;示例…题目给定一个二叉树的 根节点 root想象自己站在它的右侧按照从顶部到底部的顺序返回从右侧所能看到的节点值。示例 1输入root [1,2,3,null,5,null,4]输出[1,3,4]解释示例 2输入root [1,2,3,4,null,null,null,5]输出[1,3,4,5]解释示例 3输入root [1,null,3]输出[1,3]示例 4输入root []输出[]解析这道题的本质考察的还是二叉树的层序遍历无非在这里略微有点变形要把每层最后一个节点的值(这个节点就是从右边看每层的最后一个)保存到一个数组里返回这个数组即可具体代码/** * 获取二叉树的右视图 * 问题描述给定一个二叉树的根节点 root * 想象自己站在它的右侧按照从顶部到底部的顺序 * 返回从右侧所能看到的节点值 * * param {TreeNode} root - 二叉树的根节点 * return {number[]} - 从右侧看到的节点值数组 */varrightSideViewfunction(root){// 存储结果的数组每一层最右侧的节点值letres[]// 使用队列进行层序遍历广度优先搜索 BFSletqueue[]// 将根节点加入队列如果根节点不为空queue.push(root)// 层序遍历当队列不为空且根节点不为null时继续while(queue.lengthroot!null){// 获取当前层的节点数量letlengthqueue.length// 遍历当前层的所有节点while(length--){// 从队列头部取出一个节点先进先出letnodequeue.shift()// 关键逻辑如果是当前层的最后一个节点最右侧节点// 将其值加入结果数组if(length0){res.push(node.val)}// 将当前节点的左子节点加入队列如果存在node.leftqueue.push(node.left)// 将当前节点的右子节点加入队列如果存在node.rightqueue.push(node.right)}}// 返回右视图的结果数组returnres};

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询