【LeetCode笔记】判断一棵树是否为镜像

算法题_判断一颗二叉树是否是镜像树 算法题目:判断二叉树是否为镜面树 阅读详情

最初思路:

1.求树的中序遍历,存入vector;

2.判断vector是否为为镜像;

/**
 * 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:
    vector<int> v;

    void get(int a){
        v.push_back(a);
    }
    
    void LDR(TreeNode *root){
        if (root==NULL)
            return;
        else{
            LDR(root->left);
            get(root->val);
            LDR(root->right);
        }
        return;
    }
    
    bool reverse(vector<int> n,int start,int end,int length){
        if (length==0||length==1)
            return true;
        if (n.at(start)!=n.at(end))
            return false;
        else{
            return reverse(n,start+1,end-1,length-2);
        }
    }
    bool isSymmetric(TreeNode* root) {
        LDR(root);
        return reverse(v,0,v.size()-1,v.size());
    }
};
错误原因:

中序遍历并不能唯一确定一棵树啊。。。



正解:

1.判断结构是否对称  要么没有左右子树,要么有左子树就要有右子树

2.判断值是否对称:除根节点外,左子树的左边和右子树的右边值要相同

class Solution {
public:
    bool compare(TreeNode* root1,TreeNode* root2){
        if(root1==NULL&&root2==NULL)
            return true;
        else if((root1==NULL&&root2!=NULL)||(root1!=NULL&&root2==NULL))
            return false;
        else{
            if(root1->val!=root2->val)
                return false;
            else
                return compare(root1->left,root2->right)&&compare(root1->right,root2->left);
        }
    }
    bool isSymmetric(TreeNode* root) {
        if (root==NULL)
            return true;
        if (root->left==NULL&&root->right==NULL)
            return true;
        if((root->left==NULL&&root->right!=NULL)||(root->left!=NULL&&root->right==NULL))
            return false;
        return compare(root->left,root->right);
    }
};



leetcode之symmetric-tree(判断二叉树是否是镜像二叉树) 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 is symmetric: But the following ... 阅读详情

相关推荐

【leetcode 二叉树对称判断】Symmetric Tree

1、题目 2、分析 3、daim

wepon的专栏 1万+

二叉树镜像判断

一、前言 《二叉树的镜像》在验证二叉树是互为镜像时,给出了三种方法,本文对这三种方法进行说明 二、题目 判断两颗二叉树是否互为镜像。 三、思路 三种解决方法: 方法一,将其中一颗二叉树转为镜像,并与另外一棵树进行比较判断各节点值是否相等 方法二,互为镜像的两个二叉树,每层数据顺序相反,逐层判断即可,需要注意结点为空的情况。前面文章中《从上往下打印二叉树》给出了获得逐层获得树数据方法。 方法三:递归实现——树1左结点和树2右结点判断;树1右结点和树2左结点判断。 三种方法特...

行走 3114

Swift 实战:判断点集是否关于某条直线对称(LeetCode 356)

对称性是我们在生活中常常看到的现象:镜子里的自己,湖水中的倒影,建筑物的设计美学……在数学和算法里,“对称”同样有重要的应用。LeetCode 356 提出了这样一个问题:给定一组点,判断它们是否能被一条垂直于 y 轴的直线对称。 这题看似小巧,但却考察了我们对几何直观的理解和对哈希集合的灵活运用。本文将从题目描述出发,用 Swift 编写一个完整的解决方案,并附带一个可运行的 Demo,带你感受代码如何模拟“照镜子”的过程。

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 911

二叉树练习(二)— 判断一棵树是否是镜面树

判断一棵树是否是镜面树

weixin_43936962的博客 195

数据结构二叉树镜像题目

镜像对称的判断,主要是判断根节点的左右子树数据域是否相等,第二部分就是递归判断左子树的左子树与右子树的右子树以及右子树的左子树和左子树的右子树是否相等。

CNN经典论文(一)LeNet

Gradient-Based Learning Applied to Document Recognition(梯度学习在文档识别中的应用) Yann LeCun, Leon Bottou, Yoshua Bengio, and Patrick Haffner 发表时间:December 1998 期刊:Proceedings of the IEEE 影响:世界上第一个卷积神经网络 论文地址:Gradient-Based Learning Applied to Document Recognition

loveling丶的博客 3597

给定一棵二叉树,判断它是否是镜像对称的

给定一个二叉树,检查它是否是镜像对称的。 在这里先解释一下镜像对称的概念,顾名思义,就像人站在镜子前面面对自己一样,看到的一切都是对称的。镜中的反射与现实中的人具有相同的头部,但反射的右臂对应于人的左臂,反之亦然。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 解答 方法一:(递归) 我们可以这...

L_R 1万+

EtherCAT APWR报文实战:从站地址配置(0x0010)的初始化流程与报文解析

本文详细解析了EtherCAT APWR报文在从站地址配置(0x0010寄存器)中的初始化流程与实战应用。通过类比物业分配门牌号,生动解释了APWR报文如何高效批量配置从站地址,并深入探讨了0x0010寄存器的特殊作用、初始化步骤及常见问题排查方法。文章结合IgH主站的三从站配置案例,提供了报文解析技巧和调试建议,帮助工程师快速掌握EtherCAT网络配置的核心技术。

weixin_28744423的博客 410

leetcode101. Symmetric Tree判断一棵树是否是镜像二叉树

思路:转化为求两个二叉树是否是镜像二叉树class Solution { //判断一颗二叉树是否是镜像的 public boolean isSymmetric(TreeNode root) { if(root==null){ return true; } return isSymmetric(root.left, r...

away_lit的博客 1186

MODTRAN5.2.1安装配置

MODTRAN5.2.1安装配置

Home 4255

【C#程序员入门AI】向量数据库入门:C#集成Chroma/Pinecone,实现AI知识库检索(RAG基础)

向量存语义,检索补知识!向量数据库:解决AI知识库存储和语义检索问题,让AI有据可查C#集成:Chroma轻量本地练手,Pinecone企业云端落地,一套逻辑无缝切换RAG闭环:检索+大模型,让AI回答精准不瞎编,是AI落地的必经之路咱C#程序员有.NET生态加持,集成向量数据库比Python更简洁、更稳定,不管是个人做智能助手,还是企业做知识库,这套技术栈都能直接落地,2026年必学技能!

人工智能AI技术 1000

【LeetCode】Symmetric Tree 判断一棵树是否是镜像的

题目:Symmetric Tree /**LeetCode Symmetric Tree 对称的树 * 思路:判断一棵树是否对称,1.有左子树就要有右子树 * 2.除根节点外对称节点值要相同 * 注意:对称后就是左子树的左节点和右子树的右节点比较 * Definition for binary tree * public class TreeNode { *

HIT_微笑前进的专栏 1515

【23】C++实战篇——C++报错:LNK2001:无法解析的外部符号 ,LNK2019: 无法解析的外部符号,原因分析及解决方法

该文分析了VS项目中出现的"无法解析的外部符号"LNK2001/LNK2019错误。问题表现为跨项目共享变量时,Projector项目无法解析Line项目中声明的外部变量ImgSavePath和ImgFormat。原因在于头文件声明了变量但未包含实现的源文件。解决方法是将getLine.cpp文件添加到Projector项目中。文章还总结了两种错误代码的区别:LNK2001通常对应变量缺失,LNK2019对应函数缺失。最后列出了具体的报错信息,包括无法解析的变量和函数符号。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2006

c语言判断二叉树是否镜像对称 递归

力扣题----判断二叉树是否为镜像对称的。 思路:p指向root的左孩子,q指向root的右孩子。判断p和q的值是否相等,相等则递归判断p的左孩子和q的右孩子是否相等,p的右孩子和q的左孩子是否相等,相等则继续递归下去。当p和q都为空时,说明整个二叉树都已经遍历完毕且遍历过程中p和q的值一直相等,则返回true。 给定二叉树的结构如下: struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;

cleverlemon的博客 1267

SAP物料主数据归档详解(物理删除)

顾问们的回答肯定的统一的不能,只能打上删除标记。物料设置好需要删除的物料号这里我们需要删除的物料是AG88,其中,若不选“考虑无删除标记的物料”,需要将需要归档的物料MM06打删除标记。平时在操作系统过程中经常会不小心创建出很多无用的物料主数据,但是系统只能通过MM06打上删除标记,但是物料最终在系统中还是可以查询到的。6、执行已设置变式的归档程序,执行完毕,点下图中的“Job”,每次执行完归档程序会产生两条作业。然后设置好开始的参数和假脱机的参数,三个都是绿灯就可以执行归档的操作,物理上删除物料主数据。

我小时候很黑的博客 5523

推荐11个顶级的Claude Code Skills

ClaudeCode的Skills系统为程序员提供了11个强大的AI辅助工具,包括代码审查、重构建议、单元测试生成、API文档自动生成、性能分析、安全扫描、数据库迁移脚本生成、CI/CD配置、依赖管理、ER图生成和日志分析等功能。这些"技能包"可大幅提升开发效率,从代码质量到协作沟通全方位优化工作流程。用户可根据需求选择2-3个核心功能开始尝试,熟练后还可自定义Skills。该系统需要配合Anthropic的API使用,建议先在小型项目测试再应用于核心业务。

分享AI、区块链技术及应用,未来已来 1850

判断两个二叉树是否互相镜像&&翻转等价二叉树

判断两个二叉树是否互为镜像+力扣扩展题:翻转等价二叉树

卜大爷的博客 2万+

rk3399开发环境的介绍

由于Bluez的介绍文档有限,以及对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度,学习曲线也相对较陡,所以我有了这个想法,专门对Bluez做一个系统性的介绍,尽可能的涵盖所有内容。

朝气蓬勃 710

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 [1,2,2,3,4,4,3] is symmetric: 1 / \ 2 2 / \ / \ 3 4 4 3 Bu...

yuweiming70的博客 265

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【leetcode系列】Python实现二叉树层次遍历和判断一颗二叉树是否是镜像树

继续刷题,判断是否镜像对称二叉树。 镜像对称二叉树,顾名思义,以根节点为轴,左右节点和节点内容互为镜像;如下图所示。这里要避免和完全二叉树混淆。 这个我还是考虑了一段时间,递归和迭代都可以实现。递归的,如果一个节点值作为输入很难实现,所以新建一个新方法recurse,输入左右两个节点,返回bool值。思路很简单,如果输入两个节点都是空,可能是单个跟节点,返回True;如果一个有,另一个为空,返回False;如果左右两个节点,如果节点值相等,这里递归,把这两个节点的子节点左右对比,并按照and .

helloxiaozhe的博客 613

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

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

二叉树(判断是否为对称二叉树)

判断二叉树是否对称,就可以换位去判断该二叉树的左子树和右子树是否对称。该函数是判断两颗树是否镜像对称,这时就会发现,我们需要的这个函数和。,右节点的值等于另一棵树右节点的值而镜像则是相反,即。剩余的isSymmetric函数中就是简单的判断了。观察题目,只需判断该二叉树是否对称。这时就可以写一个辅助函数来方便判断。,右节点的值等于另一棵树左节点的值)只有这两处地方有改变。,(判断树是否相等是。

cy18779588218的博客 810

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

leetcode 剑指offer 判断是否是镜像二叉树 经典递归

剑指 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,4,4,3] 输出:tr

马角的逆袭的博客 261

[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 is symmetric: 1...

chengsi589544的博客 169

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

题目描述 给定一棵二叉树,判断琪是否是自身的镜像(即:是否对称) 例如:下面这棵二叉树是对称的 下面这棵二叉树不对称。 备注: 希望你可以用递归和迭代两种方法解决这个问题 示例1 输入 {1,2,2} 输出 true 示例2 输入 {1,2,3,3,#,2,#} 输出 false 一、递归的方法: 1、思路:(树的结点值都为个位数) 假如树在一张纸上,对折纸后结点重合,重合处值相等,满足这样的树就是如题所说的“对称”。 以上图为例: 以 左3 作为根结点做前序遍历(根、左、右)依次遍历是

GOOD GOOD STUDY, DAY DAY UP 1231

leetcode 之 Symmetric Tree 镜像树

Symmetric Tree

fangjian1204的专栏 2161

剑指 Offer 27. 二叉树的镜像 - 力扣(LeetCode)

剑指 Offer 27. 二叉树的镜像 - 力扣(LeetCode)

Onwaier的博客 571
下一篇: 【LeetCode笔记】Binary Tree Level Order Traversal 二叉树分层存储
macidoo
博客等级 码龄11年 13粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值