LeetCode算法题-Symmetric Tree(Java实现)

高速设计注意事项总结——MDI篇 在以太网高速通信系统中,MDI(Medium Dependent Interface,介质相关接口)是连接物理层芯片(PHY)与传输介质(如网线)的关键接口,其设计直接影响信号完整性、传输速率和抗干扰能力。本文围绕 MDI 及 RJ45 接口电路、关键参数、设计与布线要点展开,为高速以太网设计提供参考。本文包含MDI 及 RJ45 接口电路组成、电路设计注意事项、布局布线要求等内容 阅读详情

这是悦乐书的第163次更新,第165篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第22题(顺位题号是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

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 第一种解法

如果你看过昨天的Same Tree题,看到今天这道题时,有没有什么想法?可能你已经发现了,要判断一个二叉树是否中心对称,如果把它从根节点“一分为二”的看做两个二叉树,只要判断这两个二叉树的左右节点是否对称相等即可,即左边新的二叉树的左节点值和右边新的二叉树的右节点值相等。对此,我们可以借助昨天的代码,很容易的就将其写出来。

public boolean isSymmetric(TreeNode root) {
    if (root == null) {
        return true;
    }
    return isSameTree(root.left, root.right);
}

public boolean isSameTree(TreeNode p, TreeNode q) {
    if (p == null || q == null) {
        return p == q;
    }
    boolean f = p.val == q.val;
    boolean f2 = isSameTree(p.left, q.right);
    boolean f3 = isSameTree(p.right, q.left);
    return f && f2 && f3;
}

03 第二种解法

除了上面的递归方法外,我们还可以使用另外一种解法。

题目的意思是只要每个节点的值对称相等就行,那我们可以将每层节点的值存起来,然后再进行比较,直到比较完所有的值。因为是自顶向下比较,所以先存起来的值就需要先拿出来比较,我们可以使用队列来当做存值的载体,借助其先进先出的特性。

public boolean isSymmetric2(TreeNode root) {
    if (root == null) {
        return true;
    }
    Queue<TreeNode> q = new LinkedList<>();
    q.add(root.left);
    q.add(root.right);
    while (!q.isEmpty()) {
        TreeNode t1 = q.poll();
        TreeNode t2 = q.poll();
        if (t1 == null && t2 == null) {
            continue;
        }
        if (t1 == null || t2 == null) {
            return false;
        }
        if (t1.val != t2.val) {
            return false;
        }
        q.add(t1.left);
        q.add(t2.right);
        q.add(t1.right);
        q.add(t2.left);
    }
    return true;
}

04 小结

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

电子元件及其规格书的查找与理解 本内容收录:在电子开发或维修过程中,查找电子元件及其规格书心得体会,以及元件规格书的理解,系个人多年实战经验的系统梳理。内容着重介绍贴片元件代码反查型号的实用技巧,并以三款典型疑难元件为例,详述其完整查找过程与最终型号确认。 阅读详情

相关推荐

医学影像AI的幻觉问题与CCD解决方案

医学影像AI在辅助诊断中面临的核心挑战是幻觉现象,即模型生成不符合实际影像的虚假诊断。这种现象源于多模态大语言模型(MLLMs)在视觉-语言对齐上的技术局限,可能导致假阳性或假阴性的临床风险。通过临床对比解码(CCD)框架,结合症状锚定和专家引导的双阶段校准机制,可有效提升模型输出的可靠性。该技术在CheXpert和MIMIC-CXR等标准数据集上验证,显著改善了肺不张、胸腔积液等关键指标的检测准确率。对于医疗AI落地场景,这种即插即用的解决方案既规避了数据隐私合规问题,又降低了基层医院的部署门槛,为AI辅

weixin_36303807的博客 322

LeetCode算法题整理(200题左右)

Leetcode

qq_38253797的博客 1万+

PostgreSQL+Citus分布式集群实战:从零搭建到性能调优

本文详细介绍了如何从零开始搭建并优化PostgreSQL+Citus分布式数据库集群。内容涵盖集群规划、源码编译安装、Citus扩展部署、节点配置、分布式表创建以及核心性能调优策略,为应对海量数据增长提供了完整的部署指南和实战解决方案。

oo7890的博客 629

Leetcode(力扣)超高频题讲解(一)

高频题(一) 文章目录高频题(一)一、反转链表(206)1. 双指针迭代2. 递归二、无重复字符的最长字串(3)三、LRU缓存机制(146)1. 题目描述2. LRU算法的介绍3. 数据结构的选择4. 代码实现四、数组中的第k个最大元素(215)1. 快排变形2. 大顶堆五、K个一组翻转链表(25)六、两数之和(1)1. 一遍哈希表2. 两遍哈希表七、三数之和(15)八、环形链表II(142)1. 哈希表2. 快慢指针九、环形链表(141)1. 哈希表2. 快慢指针十、合并两个有序链表(21)1. 递归2.

立志成为一个前端、后端、测试全方位发展的程序员 2754

Linux之GTK系列教程

00、背上行囊1——程序员学习之道 01、背上行囊2——为什么要学习GTK 02、背上行囊3——GUI概述 03、背上行囊4——GTK简介 04、背上行囊5——GTK环境搭建( Linux ) 05、背上行囊6——GTK环境搭建( windows ) 06、踏上旅途1——一个简单的空白窗口 07、踏上旅途2——控件的添加 08、踏上旅途3——布局容器之水平布局 09、踏上旅途

每天积累一点点 2万+

通讯软件013——分分钟学会Kepware OPC AE Server仿真配置

本文介绍如何使用Kepware软件仿真OPC AE Server配置。

zhouwl72的博客 2231

LeetCode算法热题100题目和思路

LeetCode-算法-热题100

qq_43217697的博客 3462

Python爬虫实战:全自动采集银行理财产品收益率数据

本文通过Playwright动态爬虫技术,成功实现了对银行理财产品收益率数据的实时采集,并通过 Pandas 数据清洗、SQLite 存储、调度自动化等模块,构建了一个可扩展的银行理财数据抓取系统。理财非儿戏,数据做决策。掌握银行收益信息是我们迈向理性投资的第一步。希望这套工具对你有所帮助!

2201_76125261的博客 1158

【LeetCode】算法题汇总_思路+代码注释

【代码】【LeetCode】算法题汇总。

yyj3900636的博客 1432

SystemUI-下拉去掉后去掉用户切换-去掉电源按键中的紧急呼叫

这里自己倒腾完成了两个常见需求:去除用户切换、去除紧急呼叫UI在去除用户切换时候,用到了Compose知识点,所以很难按照以前经验去找对应布局、找对应的View Item ,以往方法都只能部分借鉴的搞系统的还是要跟着谷歌学一点Compose技能了,方便日常开发调试。

十年饮冰,难凉热血 1464

QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)

一、环境介绍 QT版本: 5.12.6 编译环境: win10 64位 目标系统: Android 完整工程源码下载地址(包含APK文件):https://download.youkuaiyun.com/download/xiaolong1126626497/19051696 二、功能介绍 本软件是一款BLE蓝牙串口调试助手,支持常规的发送和接收调试,BLE是低功耗类型蓝牙,在智能家居、物联网领域使用较多。BLE低功耗蓝牙一般不能直接使用手机进行连接,手机蓝牙默认都是工作在传统蓝牙模式,无法直接连接BL..

7663

Leetcode面试经典150题

经典面试题150

qq_45249273的博客 2229

IEEE69节点数据(Matlab)

IEEE69节点数据(Matlab)

weixin_46039719的博客 1163

symmetric tree java_LeetCode算法题-Symmetric Tree(Java实现)

这是悦乐书的第163次更新,第165篇原创01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第22题(顺位题号是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 ...

weixin_39824801的博客 129

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

LeetCode Top 100 Liked Questions 101. Symmetric Tree (Java版; Easy)

welcome to my blog LeetCode Top 100 Liked Questions 101. Symmetric Tree (Java版; Easy) 题目描述 Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For example, ...

littlehaes的博客 149

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LeetCode 101. Symmetric Tree(二叉树)

题目来源:https://leetcode.com/problems/symmetric-tree/ 问题描述 101.Symmetric Tree Easy Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For example, this b...

da_kao_la的博客 156

STM32F407中文手册

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

Java描述 LeetCode,101. Symmetric Tree 对称二叉树

大家好,我是河海哥,专注于后端,如果可以的话,想做一名code designer而不是普通的coder,一起见证河海哥的成长,您的评论与赞是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。 1-1: description Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center). Example 1: Inp.

人在江湖 510

彻底关闭Win10任务栏天气资讯弹窗的4种方法

Windows系统任务栏集成功能是操作系统UI交互的重要组件,其设计原理直接影响用户体验。微软在Win10 20H2版本中深度集成的天气资讯模块,虽然提供了实时信息推送的技术价值,但强制弹窗行为在办公、游戏等应用场景中造成了严重干扰。通过组策略编辑器、注册表修改等系统级配置方法,可以彻底禁用这一功能。其中注册表修改作为Windows系统管理的底层技术手段,适用于所有版本的系统优化。对于需要天气功能的用户,Rainmeter等第三方工具提供了更灵活轻量的替代方案。本文涉及的系统优化技巧同样适用于解决其他任务栏

weixin_30394981的博客 344

Java [Leetcode 101]Symmetric Tree

题目描述: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For example, this binary tree is symmetric: 1 / \ 2 2 / \ / \ 3 4 4 3 ...

dkk37351的博客 144

Leetcode【101】Symmetric Tree (Java版)

递归,借助一个函数来实现 boolean是表示你的方法返回的值类型 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x;...

ssjdoudou的博客 7192

LeetCode Symmetric Tree BFS (golang & java)

Problem Analysis Process Both trees are mirror images of each other if the following conditions are met Both of their roots have the same value The right subtree of each tree is mirrored to the left subtree of the other tree We can achieve such a recursiv

Eros1on的博客 241

LeetCode 101 Symmetric_Tree Java实现

声明:本题及相关刷题笔记同步github之中,欢迎Fork & Star GitHub:https://github.com/HoqiheChen。如有不足之处,烦请改正。QQ Mail:851774342@qq.com 目录DescriptionBriefInputOutputExplanationIdeasCode Description Given a binary tree, ch...

nenming20020914的博客 232

Leetcode101.对称二叉树 Symmetric Tree(Java)

Leetcode101.对称二叉树 Symmetric Tree(Java) ##Tree##, ##Depth-first Search##, ##Breadth-first Search## 对称二叉树,可以采用DFS、BFS解决 使用DFS递归判断两棵子树是否对称 两颗子树的根节点的值相等 第一棵树的左子树和第二棵树的右子树相互对称,第一棵树的右子树和第二棵树的左子树相互对称 时间复杂度: O(n) class Solution { public boolean isSymmetric(T

qq_42411921的博客 235

leetcode之Symmetric Tree

判断是不是对称树,用到递归思想就很方便。但是要注意递归结束的条件!(1)C语言实现/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     struct TreeNode *left; *     struct TreeNode *right; * }; */ bool isMirror(st...

代码草根的专栏 229

leetcode Symmetric Tree题解

题目描述: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For example, this binary tree [1,2,2,3,4,4,3] is symmetric: 1 / \ 2 2 / \ / \ 3 4 ...

leo_weile的博客 173
上一篇: LeetCode算法题-Same Tree(Java实现)
下一篇: LeetCode算法题-Maximum Depth of Binary Tree
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值