【LeetCode经典题解】递归破解对称二叉树之谜

【LeetCode经典题解】递归破解对称二叉树之谜
在这里插入图片描述
🎁个人主页:User_芊芊君子
🎉欢迎大家点赞👍评论📝收藏⭐文章
🔍系列专栏:Java.数据结构
在这里插入图片描述


在这里插入图片描述


【前言】

在二叉树的各类算法问题中,“判断二叉树是否对称”是经典且基础的题型,它不仅能考查对二叉树结构的理解,更能体现递归思想的灵活运用。对称二叉树的核心特征是:树的左子树与右子树呈现镜像关系,即左子树的左子树和右子树的右子树对称、左子树的右子树和右子树的左子树对称。本文将基于递归的思路,拆解这道题的解题逻辑,帮助读者深入理解二叉树的对称性判断。

文章目录:

一、对称二叉树

在这里插入图片描述

二、思路分析

在这里插入图片描述

1. 边界处理

先判断跟是否为空,如果为空的话,也可以认为是对称的;

2. 递归比较左右子树

isSymmetric()方法中,只有一个参数,显然是无法解决下面两个子树的问题,所以再构造一个方法:isSymmetric2()作为辅助方法,传入节点的左右子树,从顶层开始逐层,逐节点比较;

3. 辅助方法isSymmetric2()具体实现逻辑

如果左子树为空,右子树不为空,或者左子树不为空,右子树为空,说明不对称,返回false;如果左子树和右子树都为空,说明也是对称的,返回true;剩下的就是左子树和右子树都不为空的情况,然后判断它们的val值是否相同,如果不相同,说明不对称,返回false;递归比较左子树的左节点和右子树的右节点,左子树的右节点和右子树的左节点是否相同,相同说明对称,返回true.

三、代码详解

publicbooleanisSymmetric(TreeNode root){if(root ==null){returntrue;}returnisSymmetric2(root.left, root.right);}publicbooleanisSymmetric2(TreeNode leftTree,TreeNode rightTree){if((leftTree ==null&& rightTree !=null)||(leftTree !=null&& rightTree ==null)){returnfalse;}if(leftTree ==null&& rightTree ==null){returntrue;}if(leftTree.val != rightTree.val){returnfalse;}returnisSymmetric2(leftTree.left, rightTree.right)&&isSymmetric2(leftTree.right, rightTree.left);}

四、总结

本题通过递归的方式,巧妙地将“二叉树是否对称”的问题拆解为“左右子树是否镜像”的子问题,再进一步拆解为“对应位置子树是否对称”的更小问题,充分体现了递归“分而治之”的思想。

Read more

猛裁1.6万人后,网站再崩6小时、一周4次重大事故!官方“紧急复盘”:跟裁员无关,也不是AI写代码的锅

猛裁1.6万人后,网站再崩6小时、一周4次重大事故!官方“紧急复盘”:跟裁员无关,也不是AI写代码的锅

整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 过去几年里,科技公司几乎都在同一件事上加速:让 AI 参与写代码。 从自动补全、自动生成函数,到直接修改系统配置,生成式 AI 已经逐渐走进真实生产环境。但最近发生在亚马逊的一连串事故,却给整个行业泼了一盆冷水——当 AI 开始真正参与生产环境开发时,事情可能远比想象复杂。 最近,多家媒体披露,本周二亚马逊内部紧急召开了一场工程“深度复盘(deep dive)”会议,专门讨论最近频繁出现的系统故障——其中,一个被反复提及的关键词是:AI 辅助代码。 一周 4 次严重事故,亚马逊内部紧急复盘 事情的起点,是最近一段时间亚马逊系统稳定性明显下降。 负责亚马逊网站技术架构的高级副总裁 Dave Treadwell 在一封内部邮件中坦言:“各位,正如大家可能已经知道的,最近网站及相关基础设施的可用性确实不太理想。” 为此,公司决定把原本每周例行举行的技术会议

By Ne0inhk
这回真的“装”到了!来OpenClaw全国纵深行,你只需要带一台电脑……

这回真的“装”到了!来OpenClaw全国纵深行,你只需要带一台电脑……

AI Agent 的风,已经从 GitHub 吹到了线下。 过去几个月,越来越多开发者开始讨论一个问题: 当 AI 不再只是聊天,而是可以执行任务,软件会变成什么样? 在这股浪潮中,一个开源项目迅速进入开发者视野——OpenClaw,在 GitHub 上获得大量关注,相关教程、实践案例不断出现。有人用它自动整理资料,有人用它管理开发流程,还有人尝试让它执行复杂的工作流。 很多开发者第一次意识到: AI 不只是工具,它可能成为“执行者”。 不过,在技术社区之外,大多数人对 Agent 的理解仍停留在概念层面。 * AI Agent 到底是什么? * 如何在自己的电脑上运行? * 普通开发者能否真正用起来? 带着这些问题,一场围绕 OpenClaw 的开发者城市行动正在展开。 ZEEKLOG 发起的OpenClaw 全国纵深行将走进 20 个城市,用最直接的方式回答一个问题——如果

By Ne0inhk

CVE-2026-1731漏洞利用现状与网络安全防护策略研究——基于BeyondTrust产品高危漏洞的分析

远程访问类产品作为企业数字化运维与跨域办公的核心基础设施,其安全漏洞已成为网络威胁攻击者的主要利用入口。 本文以BeyondTrust Remote Support(RS)与Privileged Remote Access(PRA)产品存在的CVE-2026-1731高危漏洞为研究对象,通过分析该漏洞的技术成因、定级特征与权限利用逻辑,结合在野利用的实际监测数据,解构了攻击者利用该漏洞实施攻击的完整链路,并探讨其与历史漏洞CVE-2024-12356的技术关联性,揭示BeyondTrust产品在输入验证环节存在的系统性安全缺陷。 同时,本文前瞻性预判了该漏洞后续的威胁演化趋势,并从企业端紧急处置、长效防护,以及厂商端产品研发、应急响应等维度,构建多主体、全流程的安全防护体系,为远程访问类产品的漏洞防御与网络安全建设提供实践参考。 引言 在数字化与全球化发展背景下,远程支持、特权远程访问类产品已成为金融、医疗、高科技等行业实现跨地域运维、精细化权限管理的核心工具,其安全性直接关系到企业网络基础设施的整体防护能力。此类产品因对接企业内网核心资源、承载权限管理功能,已成为黑产团伙与

By Ne0inhk