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

张小明 2026/1/19 15:43:24
柳市建设网站,做专业课视频课的网站,成都网站建设怎么样,网站建设答辩每天学习一点算法 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进行投诉反馈,一经查实,立即删除!

光谷做网站推广价格如何建立微信小程序卖自己的产品

你的ROG笔记本是否经常在关键时刻"掉链子"?游戏激战时风扇突然全速运转,图书馆里键盘背光意外亮起引人侧目,电池续航总是比预期短一截...这些问题背后,其实是官方控制软件的"水土不服"。 【免费下载链接】g-h…

张小明 2026/1/17 20:23:10 网站建设

常州网站建设方案维护wordpress 查询语句

从零构建可靠数据存储:深入理解I2C与EEPROM的协同工作你有没有遇到过这样的场景?设备断电重启后,用户刚设置好的Wi-Fi密码、校准参数或运行模式全部“清零”,仿佛什么都没发生过。这不仅影响产品体验,也暴露了一个关键…

张小明 2026/1/16 20:52:04 网站建设

中国大型网站半导体网站建设

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向初学者的WSL安装指导应用。应用应使用通俗易懂的语言,避免技术术语,通过图文并茂的方式引导用户完成安装。功能包括:1. 基础概念解释…

张小明 2026/1/16 20:41:23 网站建设

苏州相城网站建设文创设计网站

如何快速掌握Topit:Mac窗口置顶的终极完整指南 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在Mac电脑上进行多任务处理时,你是否经常…

张小明 2026/1/16 22:44:01 网站建设

做相册视频的网站企业单位网站建设内容需要什么

Excalidraw版本控制机制:轻松回溯历史修改记录 在远程协作成为常态的今天,团队对可视化工具的要求早已超越“能画图”这一基础功能。尤其是在技术设计、产品原型迭代等高度依赖反复推敲的场景中,一次误删或错误调整可能让数小时的集体讨论成果…

张小明 2026/1/16 23:20:54 网站建设

成都中小企业申请网站全立体网站建设

终极指南:如何使用Origin相关性分析热图APP快速生成专业图表 【免费下载链接】Origin相关性分析热图APP分享 本仓库提供了一个名为 CorrelationPlot.opx 的 Origin 插件,该插件用于绘制相关性分析热图。通过该插件,用户可以快速、直观地分析数…

张小明 2026/1/17 0:55:31 网站建设