剑指 Offer 28. 对称的二叉树

【剑指Offer 28】对称的二叉树,Java解密。 LeetCode 剑指Offer 75道练习题。 阅读详情

请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。

例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

    1
   / \
  2   2
 / \ / \
3  4 4  3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

    1
   / \
  2   2
   \   \
   3    3

对称二叉树定义: 对于树中 任意两个对称节点 LL 和 RR ,一定有:
L.val = R.valL.val=R.val :即此两对称节点值相等。
L.left.val = R.right.valL.left.val=R.right.val :即 LL 的 左子节点 和 RR 的 右子节点 对称;
L.right.val = R.left.valL.right.val=R.left.val :即 LL 的 右子节点 和 RR 的 左子节点 对称。

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def isSymmetric(self, root: TreeNode) -> bool:
        #二叉树是否对称-》左右子树是否镜像-》值相等&各左右子树镜像、

        #A,B是否镜像
        def f(A,B):
            if not A and not B:
                return True
            if not A or not B:
                return False
            if A.val!=B.val:
                return False
            return f(A.left,B.right) and f(A.right,B.left) #根据镜像关系A的左子树需要与B的右子树比较

        if not root:
            return True
        return f(root.left,root.right)

复杂度分析:

时间复杂度 O(N) : 其中 N 为二叉树的节点数量,每次执行 f() 可以判断一对节点是否对称,因此最多调用 N/2次 recur() 方法。
空间复杂度 O(N)

Multisim实战:从零搭建体温检测报警电路(附完整仿真文件+调试技巧) 本文详细介绍了如何使用Multisim从零搭建体温检测报警电路,涵盖LM35温度传感器、LM358运算放大器等核心器件的选型与连接,以及信号调理、阈值比较和数码管显示等关键电路设计。附赠完整仿真文件和实用调试技巧,帮助电子工程初学者快速掌握体温温度检测系统的设计与实现。 阅读详情

相关推荐

Unity集成抖音小游戏:从IL2CPP配置到SDK接入全流程解析

本文详细解析了使用Unity开发抖音小游戏的完整流程。从关键的IL2CPP编译后端配置、PlayerSettings设置,到StarkSDK的接入与资源优化(如AutoStreaming),再到激励视频广告、录屏分享等核心功能的代码实现,提供了从环境准备到打包上传的全方位实战指南,帮助开发者高效完成技术适配。

weixin_27943395的博客 692

剑指Offer 28. 对称的二叉树

剑指Offer 28. 对称的二叉树 1. 题目描述 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 2. 解题思路 对称二叉树的判断,首先要清楚比较的位置:对

qq_40576653的博客 212

【论文+CAD图纸】光储充一体化微电网设计

近些年来,我国的经济发展迅速,对能源的需求不断增长,也加重了对环境的破坏,违背了我国的可持续发展战略。所以迫切需要寻找新型能源。由于太阳能在使用时不会产生污染,所以太阳能逐渐受到人们的重视。我国的太阳能资源丰富,具有的开发利用潜力。特别是近些年“光储充”一体化充电站为高科技绿色充电模式,“以光养桩”使光伏、储能、智能充电协同,智能微电网与公共电网互动,本设计对探索清洁可再生能源在民用场合的应用,有着重大的理论和工程价值。本文综述国内外相关光伏发电的成果和发展现状;

weixin_761237174的博客 926

剑指 Offer 28. 对称的二叉树 - 力扣(LeetCode)

剑指 Offer 28. 对称的二叉树 - 力扣(LeetCode)

Onwaier的博客 461

智慧矿山无人机空地一体化解决方案

未来,随着技术的不断进步和应用场景的不断拓展,智慧矿山无人机空地一体化解决方案将在矿业领域发挥更加重要的作用,为矿山的可持续发展提供更加有力的保障。该系统能够实现矿山的全方位、全天候监测与管理,提升矿山生产效率,降低安全风险,并为矿山的可持续发展提供有力支持。智慧矿山无人机空地一体化解决方案是当前矿业领域技术创新的重要方向,旨在通过集成无人机技术、物联网、大数据、人工智能等先进技术,实现矿山的智能化、高效化和安全化运营。在矿山爆破、挖掘等危险作业中,无人机可进行远程监控和指挥,降低人员安全风险。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 1110

一文了解ECU软件刷写的2种方法:Bootloader刷写和调试器刷写

分为刷写前、刷写中和刷写后三个阶段,如下示意:下面我们来详细了解一下Bootloader收到外部请求后开始刷写的三个阶段1)刷写前进行刷写的准备,一是确保刷写阶段总线通信的稳定性,二是避免刷写阶段出现非预期的故障,三是读取车辆数据供刷写前的一些检查等,如下所示:首先进行会话控制,通过功能寻址方式进入扩展会话模式,为后面的信息访问及其他指令做准备;然后检查刷写的前提条件,通过物理寻址方式发送历程控制请求。比如车确实处于静止状态,供电电压稳定等条件下才允许刷写;

menghuyouyou的博客 5787

【LeetCode】剑指 Offer 28. 对称的二叉树

剑指 Offer 28. 对称的二叉树

2022年毕业的萌新程序猿,输出一下自己的学习内容~ 369

SAP成本控制范围配置全流程:从货币参数到标准层次(附2024最新SPRO路径)

本文详细拆解了SAP成本控制范围(Controlling Area)的完整配置流程,涵盖从货币与估价参数文件定义、参数文件分配到控制范围,再到成本中心标准层次创建等核心步骤。文章提供了2024年最新的SPRO导航路径和实战配置要点,帮助顾问构建稳健、可扩展的管理会计基础架构,并附有常见问题排查指南。

java5的博客 940

《剑指offer》【剑指Offer 28.对称的二叉树】

🏆个人主页:企鹅不叫的博客 ​ 🌈专栏 C语言初阶和进阶 C项目 Leetcode刷题 初阶数据结构与算法 C++初阶和进阶 《深入理解计算机操作系统》 《高质量C/C++编程》 ⭐️ 博主码云gitee链接:代码仓库地址 ⚡若有帮助可以【关注+点赞+收藏】,大家一起进步! 文章目录💎一、题目🏆1.题目描述🏆2.原题链接💎二、解题报告🏆1.思路分析🏆2.代码详解 💎一、题目 🏆1.题目描述 🏆2.原题链接 剑指Offer 28.对称的二叉树 💎二、解题报告 🏆1.思路分析 🔑思路: .

YQ20210216的博客 269

《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)

《C++面向对象程序设计》✍千处细节、万字总结 文章目录《C++面向对象程序设计》✍千处细节、万字总结一、面向对象程序设计二、C++基础2.1 C++的产生和特点2.2 一个简单的C++示例程序2.3 C++在非面向对象方面对C语言的扩充输入和输出cinconst修饰符void型指针内联函数带有默认参数值的函数函数重载作用域标识符"::"强制类型转换new和delete运算符引用三、类和对象(一)3.1 类的构成3.2 成员函数的定义3.3 对象的定义和使用3.4 构造函数与析构函数构造函数成员初始化列表

像写诗一样优雅地写代码~ 78万+

【人工智能】Gemini怎么使用智能体的能力? Gemini Gems: 定制你的AI智能体

Gems 是 Gemini 的定制版本。你可以通过设定特定的指令(Instructions),让它变成你需要的专家。一旦创建,它会记住这些设定,你不需要在每次对话时重复输入背景信息。目前创建和使用自定义 Gems 通常需要订阅(Google One AI Premium 计划)。对于大多数用户来说,Gemini Advanced 中的 Gems是使用智能体能力的最直接方式。它能让你把重复性的提示词封装成一个好用的工具。

奶爸的编程之路,也就一周冷个三天 781

剑指offer28:对称二叉树 python

剑指offer28:对称二叉树 python题目描述解法 题目描述 解法 class Solution: def isSymmetric(self, root: TreeNode) -> bool: def cur(L, R): if not L and not R: return True if not L or not R or L.val != R.val: return False return

weixin_43494312的博客 248

跨境电商产品信息抓取:使用Python爬虫进行市场分析

跨境电商平台是指为不同国家和地区的买卖双方提供在线交易服务的电子商务平台。亚马逊(Amazon):全球最大的电商平台之一,提供丰富的商品种类和全球配送服务。eBay:全球知名的在线拍卖和购物网站,支持个人和企业卖家。速卖通(AliExpress):阿里巴巴旗下的跨境电商平台,主要面向全球消费者提供中国制造的商品。Wish:以移动端为主的跨境电商平台,主打低价商品和个性化推荐。这些平台上的商品数据包括商品名称、价格、销量、用户评价、库存等信息,对于市场分析具有重要价值。

2201_76125261的博客 1233

剑指offer 28 对称的二叉树

@author: sdubrz @date: 7/25/2020 11:53:59 PM 难度: 简单 考察内容: 二叉树 @e-mail: lwyz521604#163.com 题目来自《剑指offer》 电子工业出版社 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,nul

仰起脸笑得像满月 408

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

剑指 Offer 28:对称的二叉树

剑指 Offer 28:对称的二叉树题目解题方法一:递归 题目 题目链接 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 示例 1: 输入:root = [1,2,

菊头蝙蝠的博客 392

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

剑指 Offer 28. 对称的二叉树 -- 递归

0 题目描述 leetcode原题链接:剑指 Offer 28. 对称的二叉树 1 递归解法 在这里插入代码片 参考资料

OuDiShenmiss的博客 288

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

leetcode_剑指 Offer 27. 二叉树的镜像_剑指 Offer 28.对称的二叉树

目录剑指 Offer 27. 二叉树的镜像题目代码剑指 Offer 28. 对称的二叉树题目代码 剑指 Offer 27. 二叉树的镜像 题目 代码 剑指 Offer 28. 对称的二叉树 题目 代码

xywams的博客 169

LeetCode101 & 剑指Offer 28 对称的二叉树

LeetCode101 对称二叉树题目解题解题一:深度优先搜索解题二:广度优先搜索 题目 解题 解题一:深度优先搜索 // javascript var isSymmetric = function(root) { if (root === null) return true; return checkSymmetric(root.left, root.right); }; var checkSymmetric = function(p, q) { if (p === null

207

【剑指offer】28、对称的二叉树

题目   请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 思路 针对前序遍历定义一种遍历算法,先遍历父节点,再遍历它的右子节点,最后遍历它的左子节点。 通过比较二叉树的前序遍历和对称前序遍历序列来判断二叉树是不是对称的。 测试用例 1.功能测试(对称二叉树;结构不对称二叉树;结构对称但值不对...

火山君的博客 353

剑指 Offer 28 对称的二叉树

题目描述: 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 示例 1: 输入:root = [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3] 输出:false 限制: 0 <= 节点个数 <= 1000 方法1: 主要思路: (1)直接使

weixin_44171872的博客 214

剑指offer28 对称的二叉树

给定一个二叉树,判断该二叉树是不是对称的。 1.递归方法 class Solution { public: bool isSymmetrical(TreeNode* pRoot) { return isSymmetrical(pRoot,pRoot); } bool isSymmetrical(TreeNode* pRoot1,TreeNode...

yqf113的专栏 364

Leetcode 剑指 Offer 28. 对称的二叉树

Leetcode 剑指 Offer 28. 对称的二叉树 题目 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 示例 1: 输入:root = [1,2,2,3

weixin_43891775的博客 146
上一篇: 剑指 Offer 26. 树的子结构
下一篇: 剑指 Offer 35. 复杂链表的复制
one_zero_one
博客等级 码龄7年 30粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值