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

山东平台网站建设推荐网站模板制作与安装教程视频

山东平台网站建设推荐,网站模板制作与安装教程视频,网站维护的注意事项,云浮北京网站建设1. 题目 描述 给定一棵二叉树,判断其是否是自身的镜像(即:是否对称) 例如: 下面这棵二叉树是对称的。 下面这棵二叉树不对称。 数据范围:节点数满足 0≤n≤1000,节点上的值满足∣val∣≤1000 …

1. 题目

描述

给定一棵二叉树,判断其是否是自身的镜像(即:是否对称) 例如: 下面这棵二叉树是对称的

下面这棵二叉树不对称。

数据范围:节点数满足 0≤n≤1000,节点上的值满足∣val∣≤1000

要求:空间复杂度 O(n),时间复杂度 O(n)

备注:

你可以用递归和迭代两种方法解决这个问题。

示例1

输入:

{1,2,2,3,4,4,3}

返回值:

true
示例2

输入:

{1,2,2,#,3,#,3}

返回值:

false
示例3

输入:

{8,6,9,5,7,7,5}

返回值:

false

2. 解题思路

判断一颗二叉树是否对称可以采用以下方法:

  1. 将二叉树复制一份

  1. 对2颗二叉树进行比较(采用递归方法)

    树1的左子树与树2的右子树进行比较;

    树1的右子树与树1的左子树进行比较;

    当比较结果都为true时,二叉树为对称的二叉树。

假如要判断的二叉树结构如下图所示:

这样一颗二叉树进行复制,会变成两颗完全一样的二叉树:

先来看看该二叉树是否可以通过递归来判断对称性。

递归的两个条件满足,因此可以通过递归来判断二叉树是否为对称。

对于这两颗二叉树来说,先判断两颗二叉树的节点值是否相等(root1.val是否等于root2.val);再用树1的左子树与树2的右子树进行比较,用树1的右子树与树1的左子树进行比较。因此对应的递推公式如下所示:

有了递推公式,就可以方便的写出对应的代码了。

如果文字描述的不太清楚,你可以参考视频的详细讲解。

  • Python版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1371871

  • Java版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1367112

  • Golang版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1364652

3. 编码实现

核心代码如下:

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** @param pRoot TreeNode类* @return bool布尔型*/
func isSymmetrical(pRoot *TreeNode) bool {// write code herereturn recursion(pRoot, pRoot)
}func recursion(root1 *TreeNode, root2 *TreeNode) bool {// 2. 递归终止条件// 2.1 递归条件:两个节点都为空,为trueif root1 == nil && root2 == nil {return true}// 2.2 只有一个节点为空,必定不对称if (root1 == nil && root2 != nil) || (root1 != nil && root2 == nil) {return false}// 1. 问题分解(递推公式)return (root1.Val == root2.Val) && recursion(root1.Left, root2.Right) && recursion(root1.Right, root2.Left)
}

具体完整代码你可以参考下面视频的详细讲解。

  • Python版本:数据结构笔试面试算法-Python语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Python语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1371871

  • Java版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1367112

  • Golang版本:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1364652

4.小结

判断二叉树是否为对称,可以采用以下方法:将二叉树复制一份;对2颗二叉树进行比较(采用递归方法),树1的左子树与树2的右子树进行比较,树1的右子树与树1的左子树进行比较,当比较结果都为true时,二叉树为对称的二叉树。

《数据结构与算法》深度精讲课程正式上线啦!七大核心算法模块全解析:

        ✅ 链表

        ✅ 二叉树

        ✅二分查找、排序

        ✅ 堆、栈、队列

        ✅回溯算法

        ✅ 哈希算法

        ✅ 动态规划

无论你是备战笔试面试、提升代码效率,还是突破技术瓶颈,这套课程都将为你构建扎实的算法思维底座。🔥立即加入学习打卡,与千名开发者共同进阶!

  • Python编码实现:数据结构笔试面试算法-Python语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Python语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ss897667807

  • Java编码实现:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ss161443488

  • Golang编码实现:数据结构笔试面试算法-Go语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Go语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ss63997

对于二叉树的相关算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。

今日佳句:不似春光,胜似春光,寥廓江天万里霜。

http://www.dtcms.com/a/607521.html

相关文章:

  • 柳州网站建设服务h5创建网站
  • 吉林网站备案ps做网站画布多大
  • 深圳集智邦是网站建设公司安康信息平台
  • XHLJ2021-easykernel之 seq_operations结合pt_regs
  • 网站怎么备份wordpress edd插件
  • 出格做网站学生个人网页制作html报告
  • 在 Oracle Data Guard 环境中,手工将备库(Standby)切换为主库(Primary)
  • 网站icp备案证书莱州网络推广公司
  • AI评测趋势一站速览,司南Daily Benchmark专区上线!
  • go语言做的网站动漫设计专业怎么样
  • 优秀企业网站设计要点房子装修价格
  • 什么网站做的好看北京企业建站
  • 天通苑网站建设成都制作网站提供商
  • 学网站开发需要学那些电商网站可维护性
  • 一个空间可以做两个网站吗前端培训机构哪个最好
  • 7.1 Dify开发平台简介:面向零基础人员的Agent开发平台
  • 中国app排行榜优化大师官网下载安装
  • 网站不更新即商通网站建设推广
  • 如皋做网站wordpress注册会员无法收到邮件
  • c语言编译过程五步骤 | 深入解析编译流程的关键环节
  • 网站开发自学时间财务软件定制开发
  • 在线销售型网站做网站要备案
  • 百度网站地址提交网站建设服务 杭州
  • vue做网站首页wordpress 没有分类目录
  • 哪些网站用.ren域名京东商城网上购物京东超市
  • 市场洞察:从品类到买量,解析韩国手游市场出海新机遇
  • C++ 循环结构:控制程序重复执行的核心机制
  • Jetson ORIN NANO SUPER 装机流程
  • 重庆自助模板建站做自己的网站多少钱
  • 邹城做网站asp网站做视频