柳市建设网站做专业课视频课的网站

张小明 2026/1/10 9:20:05
柳市建设网站,做专业课视频课的网站,成都网站建设怎么样,网站建设答辩每天学习一点算法 2025/12/18 题目#xff1a;对称二叉树 给你一个二叉树的根节点 root #xff0c; 检查它是否轴对称。 老规矩先来递归#xff0c; 检查二叉树是否轴对称#xff0c;我们是不是得比较根节点下面得两个子树是否是轴对称#xff0c;那么我们只需要递归比较…每天学习一点算法 2025/12/18题目对称二叉树给你一个二叉树的根节点root 检查它是否轴对称。老规矩先来递归 检查二叉树是否轴对称我们是不是得比较根节点下面得两个子树是否是轴对称那么我们只需要递归比较两个子树的值即可那要怎么传参呢首先肯定是要将根节点的两个子节点作为初始传参传进去的那么我们需要一个辅助函数然后每次递归对称传递子结点比较。functionisSymmetric(root:TreeNode|null):boolean{if(!root)returntrue;// 空树默认为true// 定义辅助函数 递归比较两个子树functionvalidate(left:TreeNode|null,right:TreeNode|null):boolean{// 两个子节点同时为空才有轴对称的可能if(!left!right)returntrue;if(!left||!right)returnfalse;// 比较左右子节点的值并传递对称的子节点递归returnleft.valright.valvalidate(left.left,right.right)validate(left.right,right.left);}// 调用辅助函数returnvalidate(root.left,root.right);};还有我们是不是可以用层序遍历的方法取得每一层的节点然后我们校验他们是否是对称就行了。核心思想其实跟递归是一样的找到对称节点作比较。如果我们拓展下一层按照左左↔右右、左右↔右左的顺序入队列那么每两个节点都是对称位置上的节点了比如说我们有一个四层的结构对称的树像下面这个样。1 / \ 2 3 / \ / \ 4 5 6 7 / \ / \ / \ / \ 8 9 10 11 12 13 14 15我们初始两个子节点入队列[2, 3]然后2, 3出队列子节点按照左左↔右右、左右↔右左的顺序入队列[4, 7, 5, 6]然后4, 7出队列子节点按照左左↔右右、左右↔右左的顺序入队列[5, 6, 8, 15, 9, 14]然后5, 6出队列子节点按照左左↔右右、左右↔右左的顺序入队列[8, 15, 9, 14, 10, 13, 11, 12]然后剩下的子节点两两出队列。可以看到整个循环的过程子节点的遍历是从上到下每层从两端向中间收拢的我们按照这种方式遍历比较两两出队列的节点值就可判断出树是否对称。functionisSymmetric(root:TreeNode|null):boolean{// 空树默认为对称if(!root)returntrue;// 初始化队列用于层序遍历对称位置的节点constqueue:ArrayTreeNode|null[];// 根节点的左右子节点都为空是对称树if(!root.left!root.right)returntrue;// 根节点的左右子节点只有一个为空必然不对称if(!root.left||!root.right)returnfalse;// 将根节点的左右子节点对称的起始节点入队queue.push(root.left);queue.push(root.right);// 层序遍历队列中的对称节点对while(queue.length){// 每次取出队列前两个节点一对对称节点constleftqueue.shift()!;constrightqueue.shift()!;// 两个节点都为空说明当前对称位置无节点继续检查下一对if(!left!right)continue;// 不对称的情况// 1. 其中一个节点为空另一个非空// 2. 两个节点值不相等if((!left||!right)||(left.val!right.val))returnfalse;// 按对称规则将下一层节点入队// 左节点的左子节点对应右节点的右子节点queue.push(left.left);queue.push(right.right);// 左节点的右子节点对应右节点的左子节点queue.push(left.right);queue.push(right.left);}// 所有对称节点对都验证通过说明是对称二叉树returntrue;}题目来源力扣LeetCode
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

自己创建网站怎么赚钱定远建设小学投诉网站

结合OCR实现图纸文档智能问答——anything-llm工业应用设想 在某石化厂的设备检修现场,一位维修工程师正蹲在一台老旧阀门旁,手里拿着平板电脑。他轻声问:“V-103储罐对应这台截止阀的设计压力是多少?有没有推荐替换型号&#xff…

张小明 2026/1/2 2:06:14 网站建设

企业门户网站建设的必要性网页游戏制作培训

第一章:Open-AutoGLM沉思功能概述Open-AutoGLM 是一款面向自动化自然语言理解与生成任务的开源框架,其核心“沉思”功能旨在模拟人类在决策前的多轮推理过程。该功能通过引入递归式自我反馈机制,使模型能够在生成最终输出前对初步结果进行评估…

张小明 2026/1/2 0:33:35 网站建设

网站建设-搜遇网络球队排名世界

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/8 0:24:33 网站建设

安全等级保护每个网站必须做吗微博建网站

问题描述在下面图片的这个位置,不知道如何在新版的idea中打开下面的service,找到“Add Configuration Type”解决点击alt8,或者找到左下角的那个六边形里面嵌套一个三角形的图标。然后点击加号,再点击最上面的。找到springboot,我这里已经添加上去了&…

张小明 2026/1/7 3:43:59 网站建设

网站英文关于建设网站的会议纪要

超强B站视频下载神器downkyi:解决你的所有下载烦恼 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#xff…

张小明 2026/1/2 19:12:15 网站建设

上饶建网站公司pc网站建设怎么弄

Windows Embedded CE 启动加载器与注册表详解 1. 启动加载器概述 启动加载器是许多设备上运行的第一段代码。常见的启动加载器有 Loadcepc、BIOS Loader、Romboot loader、eboot.bin(以太网启动加载器)和 sboot.bin(串行启动加载器)。以下是使用 BIOS Loader 准备 IDE 存…

张小明 2026/1/7 1:45:50 网站建设