AcWing 39. 对称的二叉树

牛客网算法刷题指南:从入门到面试通关 算法刷题是提升编程能力和通过技术面试的重要途径。常见的算法题类型包括数据结构操作(如链表反转、二叉树遍历)和经典算法(如动态规划、二分查找)。通过系统化的分类训练和错题分析,可以有效掌握解题思路和编码技巧。牛客网作为本土化刷题平台,提供大厂真题题库、即时评测反馈和可视化题解,特别适合准备国内技术面试。以BM7链表中环的入口结点为例,其快慢指针解法结合动画演示,能帮助快速理解Floyd判圈算法原理。建议从通过率40%以上的简单题目入手,逐步构建解题框架和面试表达能力。 阅读详情

一棵二叉树为对称二叉树等价于其左右子树镜像对称。因此可以考虑使用递归来解决此问题。

具体代码如下:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool check(TreeNode *p, TreeNode *q){
        if((!p && q)||(p && !q)) return false; //两节点只有一个为空则不对称
        if(!p && !q) return true; //两个节点均为空则对称
        return p -> val == q -> val && check(p -> right, q -> left) && check(p -> left, q -> right);
    }
    
    bool isSymmetric(TreeNode* root) {
        if(!root) return true;
        return check(root -> left, root -> right);
    }
};

另外,如果我们使用中序遍历序列来进行检验是否可行呢?我们可以发现:一棵二叉树如果是对称的二叉树,那么其中序遍历序列是中心对称的。那么反过来结论是否成立呢?答案是否定的。我们可以轻松举个例子,例如按照题目的格式输入:[1,4,2,2,null,4,3,3,null,null,null,null,null,null,null],画出这棵二叉树的图像就能明显发现它并非是对称的。

不过,这一思想仍然可以借鉴。那就是对树的左子树进行中序遍历,右子树进行反中序遍历,同一时刻,二者访问的节点应该记录的是同样的值。由此就可以断定该二叉树是否是对称二叉树。

反激电源及其变压器计算与绕制 本内容以一个宽电压输入 24V3A 输出的 72W 反激电源为例来计算电路的各个参数和器件选型,包含反激变压器的计算与绕制方法。 阅读详情

相关推荐

2021年软件测试面试题大全

简述测试流程: 1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例(等价类划分法、边界值分析法等)。 5、用例评审(主要参与人员:开发、测试、产品、测试leader)。 6、开发提交代码至SVN或者GIT ,配管搭建测试环境。 7、执行测试用例,记录发现的问题。 8、验证bug与回归测试。 9、编写测试报告。 10、产品上线。 补充测试用例设计过程: 根据需求得出测试需求 设计测试方

hard_days的博客 20万+

LeetCode 101. 对称二叉树

题目描述 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树[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 说明: 如果你可以运用递归和迭...

yj_coder的博客 179

F280049C_HRPWM_死区时间高精度控制与MEP技术实战解析

本文深入解析了F280049C的HRPWM模块及其基于MEP技术的死区时间高精度控制。通过实测数据与TI官方代码对比,详细阐述了DBREDHR和DBFEDHR寄存器的配置技巧、精度优化方法及常见问题调试,为电源管理和电机控制应用提供了实用的实战指南。

yolo5detector的博客 217

对称的二叉树

题目: 请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路: 开始理解错了,先搞了个二叉树镜像出来和原树对比,怎么都是false,人傻了,两个不同的对象怎么会相同。 首先要明白什么是对称的二叉树,直接贴原图了: 所以这道题需要注意的是跨结点的子结点比较,是否满足上面特征,而不是单纯的比较左右子节点。整体采用自上而下递归的方法 代码: /* public class TreeNode { int val = 0;

Joy 的博客 183

生成式引擎优化(GEO)全景指南:技术架构、实施策略与未来趋势

生成式引擎优化(GEO)全景指南摘要 GEO(生成式引擎优化)是针对AI生成内容(如ChatGPT、文心一言等)的优化策略,通过结构化数据、权威建设与语义优化提升企业内容在AI答案中的引用优先级,实现“无点击曝光”。其核心价值在于从流量竞争转向信任构建,突破传统SEO局限。技术架构依托RAG(检索增强生成)、向量数据库及反馈学习机制,动态优化内容生成与引用逻辑。实施策略包括:部署结构化数据(如JSON-LD)、维护动态知识图谱、适配多模态内容(3D/VR)、联合权威机构发布白皮书。行业案例显示,美妆、智能家

解锁AI流量新红利!🚀 GEO优化(生成引擎优化)助您掌控AI搜索,让AI成为您的品牌最佳代言人! 1451

MCU 微控制器,在实际项目中如何选型(以 STM32为例)

1.MCU 选型需要考虑的一些因素 2.案例:传感器设备的 MCU 选型

创享 AIOT 的专栏 1万+

剑指 Offer 28:对称的二叉树

对称的二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 示例 1: 输入:root = [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3] 输出:false /** * Definition for a binary tree node. * public class TreeNode { * int val;

weixin_45850679的博客 249

4-都2026年了,嵌入式发展前景怎么样,还适合入行吗?

本文系统分析了嵌入式行业的发展前景,指出到2026年嵌入式将迎来由"万物智联"驱动的黄金周期。文章回顾了嵌入式技术的四个演进阶段,从专用计算机到AIoT时代,强调其技术积累的延续性。作者从人才流向、产业智能化转型、高校新增专业等角度论证嵌入式行业的蓬勃发展,并提出"铁三角"模型分析其驱动力和护城河。最后给出职业发展路径建议,认为嵌入式适合长期主义者,在智能汽车、边缘计算等领域有广阔前景。文章建议读者抓住产业升级机遇,选择这一稳定且有复利效应的技术赛道。

指尖动听知识库 389

AcWing 39.对称的二叉树(python版)

题目描述 请实现一个函数,用来判断一棵二叉树是不是对称的。 如果一棵二叉树和它的镜像一样,那么它是对称的。 样例 思路 对于一棵对称的二叉树,需要判断其根节点的左右两棵子树是否为镜像, 1、左子树的根节点与右子树的根节点值相等 2、左子树根节点的左孩子与右子树根节点的右孩子互为镜像,左子树根节点的右孩子与右子树根节点的左孩子互为镜像。 因此,需要遍历子树的所有节点,故可采用递归思想来解出此题。 代码实现 # Definition for a binary tree node. # class TreeNo

fuzzy__H的博客 260

用一套可追溯的闭环,把设备变成可管理的资产:SAP S/4HANA Asset Management 模块详解

摘要:SAP S/4HANA的资产管理模块(EAM)通过标准化流程管理企业资产全生命周期,解决资产状态、需求和资源的不确定性。系统将资产抽象为技术对象,支持纠正性和预防性维护流程,通过维护工单实现可执行的工作包,并与物料管理、财务、生产计划等模块集成形成管理闭环。该模块可帮助降低非计划停机时间,通过数据驱动决策优化维护策略,提升资产可用率和运营效率。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 254

物理AI:连接数字智能与物理世界的下一代人工智能范式

物理AI正在推动人工智能从纯数字领域向物理世界扩展,实现比特到原子的智能跃迁。与传统AI相比,物理AI具有三大核心差异:1)在物理环境中运行;2)处理多模态传感器输入;3)产生可改变物理状态的输出。其技术栈包含感知层(多模态融合)、决策层(边缘计算)、执行层(运动控制)和连接层(5G/6G通信)。关键技术挑战包括:实时多传感器融合、物理约束下的决策规划、以及高精度执行控制。物理AI的发展面临实时性保障、安全验证等核心挑战,但其在机器人、自动驾驶等领域的应用潜力巨大,正成为智能技术落地的关键突破口。

fudaihb的博客 1712

AcWing 39. 对称的二叉树

题目描述 请实现一个函数,用来判断一棵二叉树是不是对称的。 如果一棵二叉树和它的镜像一样,那么它是对称的。 样例 如下图所示二叉树[1,2,2,3,4,4,3,null,null,null,null,null,null,null,null]为对称二叉树: 1 / \ 2 2 / \ / \ 3 4 4 3 如下图所示二叉树[1,2,2,null,4,4,3,...

yj_coder的博客 162

【DeepSeek-R1 】分词系统架构解析

DeepSeek-R1 分词系统解析 DeepSeek-R1 采用 SentencePiece Unigram 算法,通过统计语言模型实现高效子词分词。其核心优势包括: 算法对比:相比 BPE/WordPiece,Unigram 基于概率模型,支持多语言,自动回退字符级处理。 特性优化:智能空格处理、数字分桶、多语言统一支持,并采用前缀树索引和 SIMD 并行加速,编码速度达 12,458 tok/s。

赶紧的博客 429

AcWing 39 对称的二叉树

题目描述: 请实现一个函数,用来判断一棵二叉树是不是对称的。 如果一棵二叉树和它的镜像一样,那么它是对称的。 样例 如下图所示二叉树[1,2,2,3,4,4,3,null,null,null,null,null,null,null,null]为对称二叉树: 1 / \ 2 2 / \ / \ 3 4 4 3 如下图所示二叉树[1,2,2,null,4,4,3...

昂昂累世士的博客 132

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【ACWing】39. 对称的二叉树

题目地址: https://www.acwing.com/problem/content/38/ 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 数据范围: 树中节点数量[0,100][0,100][0,100]。 代码如下: struct TreeNode { int val; TreeNode *left, *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; clas

数学、算法爱好者的博客 176

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

剑指 offer acwing 39 对称的二叉树

题面 题解 对于一颗对称的二叉树,除去根节点,所有的子树都是相对称的,就是左子树的左儿子等于右子树的右儿子,左子树的右儿子等于右子树的左儿子,直接递归dfs判断即可 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NUL

qq_44791484的博客 120

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ACWING39. 对称的二叉树(剑指offer)

请实现一个函数,用来判断一棵二叉树是不是对称的。 如果一棵二叉树和它的镜像一样,那么它是对称的。 样例 如下图所示二叉树[1,2,2,3,4,4,3,null,null,null,null,null,null,null,null]为对称二叉树: 1 / 2 2 / \ / 3 4 4 3 如下图所示二叉树[1,2,2,null,4,4,3,null,null,null,null,nul...

tomjobs的博客 307

20190603-剑指offer28-AcWing-39. 对称的二叉树

剑指offer28-AcWing-39. 对称的二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的。 如果一棵二叉树和它的镜像一样,那么它是对称的。 样例 如下图所示二叉树[1,2,2,3,4,4,3,null,null,null,null,null,null,null,null]为对称二叉树: 1 / \ 2 2 / \ / \ 3 4 4 3 如下图所示二叉树...

WangXu__的博客 186

剑指Offer打卡day18——AcWing 39. 对称的二叉树

【题目描述】 AcWing 39. 对称的二叉树 【思路】 观察发信啊镜像对称的二叉树轴对称,也就是除根节点外,左子树的右孩子节点与右子树的左孩子节点值相同,右子树的左孩子节点与左子树的右孩子节点值相同。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x)

JohnnyLin 189

AcWing 39. 对称的二叉树(C++)- 二叉树

题目链接:https://www.acwing.com/problem/content/38/ 题目如下: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class

qq_40467670的博客 297

AcWing 476:对称二叉树

基本思路: (1)以二叉树的每一个结点为根结点,寻找对称二叉树。 (2)统计找到的对称二叉树的结点数。 (3)比较获得最大的结点数。

hnjzsyjyj的专栏 472

洛谷:P5018 对称二叉树 ← NOIP2018 普及组T4

洛谷:P5018 对称二叉树 ← NOIP2018 普及组T4

hnjzsyjyj的专栏 311

AcWing解题目录(C++)

# 试题名称 思想方法 难度 试题来源 1 A+B 简单 AcWing 2 01背包问题 简单 3 完全背包问题 简单 4 多重背包问题I 简单 5 多重背包问题II 中等 6 多重背包问题...

Zee_Chao的博客 900

AcWing算法提高课思路速查:动态规划

本文整理了动态规划(DP)各类题型的解题思路,涵盖基础模型到高级优化技巧。主要内容包括: 数字三角形模型(摘花生、方格取数等) LIS问题(登山、导弹拦截等变形) 背包问题(01背包、多重背包及其变种) 状态机模型(股票买卖、设计密码等) 区间DP(石子合并、能量项链) 树形DP(树的直径、换根法等) 数位DP(数字统计类问题) 单调队列/斜率优化(任务安排、运输小猫等) 题目按难度分级(绿/橙/红),提供核心思路如破环成链、Dilworth定理、费用提前计算等关键技巧,并标注典型例题如能量石贪心、炮兵阵地

Keven_11的博客 306

剑指offer

目录AcWing 13. 找出数组中重复的数字AcWing 14. 不修改数组找出重复的数字AcWing 15. 二维数组中的查找 AcWing 13. 找出数组中重复的数字 class Solution { public: int duplicateInArray(vector<int>& nums) { int n = nums.size(); for (auto x : nums) //首先遍历数组,如果存在某个数不在0到n-

HENRYyangtuo的博客 320

刷题之路-汇总表

刷题之路 编号 原题链接 个人博客题解 1 LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 传送门 2 LintCode 159. 寻找旋转排序数组中的最小值 传送门 3 LeetCode 33. 搜索旋转排序数组 传送门 4 LeetCode 1. 两数之和 传送门 5 LeetCode 23. 合并K个升序链表 传送门 6 LeetCode 21. 合并两个有序链表 传送门

享受当下 291
上一篇: AcWing 38. 二叉树的镜像
下一篇: 912数据结构自学习题总结Part5
Zee_Chao
博客等级 码龄11年 168粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值