首页 > 其他分享 >对称二叉树-101

对称二叉树-101

时间:2024-09-01 11:14:20浏览次数:10  
标签:101 return right 二叉树 && 对称 null root left

题目描述

给你一个二叉树的根节点 root , 检查它是否轴对称。

解题思路

这里我们相当于是比较根节点左右两颗子树,我们依次向左右子树的左右两个方向进行遍历,我们比较左子树的左孩子和右子树的右孩子,左子树的右孩子和右子树的左孩子,这里如果不好理解可以看下面这个图片,如果两个子节点不为空且值相等我们就继续想下一层遍历,直至节点为空返回true,整个结果也就为true了。

代码实例

class Solution {
    public boolean isSymmetric(TreeNode root) {
        if(root.left==null && root.right==null){
            return true;
        }

        return judge(root.left,root.right);
    }
	
    public boolean judge(TreeNode left,TreeNode right){
        
        //判断不符合题目条件的,我们可以直接返回不用再继续向下遍历了
        if(left==null && right==null){
            return true;
        }else if(left==null && right!=null){
            return false;
        }else if(right==null && left!=null){
            return false;
        }else if(left.val!=right.val){
            return false;
        }
        
        boolean left_result=judge(left.left,right.right);
        boolean right_result=judge(left.right,right.left);

        return left_result && right_result;

    }

}

标签:101,return,right,二叉树,&&,对称,null,root,left
From: https://www.cnblogs.com/dfj-blog/p/18391107

相关文章

  • 数据结构:(LeetCode965)单值二叉树
     一:定义如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回false。示例1:输入:[1,1,1,1,1,null,1]输出:true示例2:输入:[2,2,2,5,2]输出:false 提示:给定树的节点数范围是 [1,100]。每个节点的值都是......
  • python如何输出对称数
    1.什么是回文数/对称数回文数(PalindromeNumber)是指一个正整数,它从左向右读和从右向左读是完全相同的。换句话说,这个数关于其中心点是对称的。例如,数字12321是一个回文数,因为它从左读(12321)和从右读(12321)都是相同的。回文数可以是任何进制的数,但通常我们在讨论回文数时,指的......
  • 适用于新一代系统的10139595-110T0LF 10139595-111T0LF(16Gb/s)PCIe Gen 4卡缘连接器
    概述PCIe®Gen4和Gen5连接器性能已超出行业标准PCIe®4.0和5.0(提案)对更高速度性能的要求。此新一代连接器系列支持背板配接,封装尺寸符合PCIe3/2/1标准。此系列垂直和直角卡缘连接器采用1.00毫米间距,可在台式电脑、工作站和服务器上支持基于不同PCIExpress®规范的信号传输。......
  • 信息学奥赛初赛天天练-80-NOIP2015普及组-基础题5-错位排列、二叉树、完全二叉树、叶
    NOIP2015普及组基础题521重新排列1234使得每一个数字都不在原来的位置上,一共有()种排法22一棵结点数为2015的二叉树最多有()个叶子结点2相关知识点1)错位排列考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就......
  • 洛谷 P11012 颜料
    洛谷P11012颜料题意给出长度为\(n\)的序列\(a\)。定义一段区间\([l,r]\)的绚丽程度\(X_{l,r}\)为\(\sum_{i=1}^{W}\sum_{j=i+1}^W\min(c_i,c_j)\),其中\(W\)是值域,\(c_i\)表示\(a\)序列\([l,r]\)中\(i\)出现的次数,求绚丽程度至少为\(k\)的区间长度最小值。......
  • 洛谷 P11011 点的覆盖
    洛谷P11011点的覆盖题意给定一个四边平行于坐标轴的矩形\(A\),给定\(n\)个在矩形\(A\)内部(可能在边缘上)的点。求有多少个\(A\)的子矩形覆盖了所有\(n\)个点(允许在边缘上)。所有坐标都是整数。思路求出:\(X_1=\max_{i=1}^nx_i\),\(X_2=\min_{i=1}^nx_i\),\(Y_1=\max_......
  • 数据结构-了解树和二叉树
    一、了解树1.树的基本概念树是一种非线性数据结构,主要用于表示层次关系。它由节点和连接这些节点的边组成。树的形状像一棵倒立的树,根部在上,树枝向下延伸。2.树的定义树可以定义为一个空树或由以下性质的节点组成的非空集合:空树:没有任何节点的树。非空树:包含一个根节点......
  • 学习笔记4——二叉树(C++版)
    关于二叉树的算法题一般都是使用递归来实现,所以要想做好二叉树的算法题,要先学会递归算法的使用。一、如何创建一个二叉树1.声明一个树节点结构体structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(nullptr),ri......
  • 分享丨【题单】链表、二叉树与一般树(前后指针/快慢指针/DFS/BFS/直径/LCA)
    作者:灵茶山艾府链接:https://leetcode.cn/circle/discuss/K0n2gO/一、链表注:由于周赛中的链表题可以转成数组处理,难度比直接处理链表低,故不标明难度分。带着问题去做下面的题目:在什么情况下,要用到哨兵节点(dummynode)?在什么情况下,循环条件要写while(node!=null)?什么情况......
  • 第101期 低光可见光-红外配对数据集
    引言亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。重要性及意义一个用于低光视觉的可见光-红外配对数据集的重要性及意义主要体现在以......