首页 > 其他分享 >力扣101 对称树

力扣101 对称树

时间:2023-01-02 00:22:06浏览次数:34  
标签:TreeNode h1 public 力扣 对称 101 root 节点

力扣101 对称树

题目:

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

示例 1:

img

输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:

img

输入:root = [1,2,2,null,3,null,3]
输出:false

提示:

  • 树中节点数目在范围 [1, 1000]
  • -100 <= Node.val <= 100

解题思路:

判定一棵树是否是对称树首先一棵树的根节点是不会影响整棵树的对称性需要单独考虑,其次就是递归的考虑左右两颗子树是否是对称树。

代码:

/**
 * 判断一棵树是否是对称树
 */
public class IsMirrorTree {
    //1.首先定义一个树节点的类
    public static class TreeNode{
        public int value;
        public  TreeNode left;
        public TreeNode right;

        public TreeNode(int value) {
            this.value = value;
        }
    }
    //2.首先传入的是整棵树的一个头节点该节点不会影响树的对称性
    public static boolean isSymmetricTree(TreeNode root){
        //这儿的第二个root可以认为是root`
        return isMirrorTree(root,root);
    }
    //3.定义一个方法判断是否是对称树
    public static boolean isMirrorTree(TreeNode h1,TreeNode h2){
        //3.1如果一个节点为空一个节点不为空那么该树肯定不是对称树
        if(h1 == null ^ h2 == null){
            return false;
        }
        //3.2如果两个节点都为空那么这两个节点是对称的返回true
        if (h1 == null && h2 == null){
            return true;
        }
        //3.3判断对称首先节点的值要相等且左树要与右树相等右树要与左树相等
        return h1.value == h2.value && isMirrorTree(h1.left,h2.right) && isMirrorTree(h1.right,h2.left);
    }
}

标签:TreeNode,h1,public,力扣,对称,101,root,节点
From: https://www.cnblogs.com/ygstudy/p/17019179.html

相关文章

  • 力扣150 逆波兰表达式求值
    题目:给你一个字符串数组tokens,表示一个根据 逆波兰表示法表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。注意:有效的算符为'+'、'-'、'*......
  • 230101_50_RPC底层原理
    1.RPC代码参考学习:https://www.bilibili.com/video/BV17Z4y1s7cG?p=1&vd_source=e4f205f9f8b63c316aab97e0421a77a91.1RPC,remoteprocedurecall,远程过程调用,它本身是一......
  • 23.0101 winter training.2
    A-BasicDiplomacy题意某人有n个朋友要出去m天,第i天可以选着\(a_i\)个朋友中的一个一起出去玩,每个朋友被选择的次数不能超过\(\lceilm\rceil\)问是否存在一种方案......
  • 力扣100 相同的树
    力扣100相同的树题目:给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:......
  • 力扣1047 删除字符串中的所有相邻重复项
    题目:给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在S上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操......
  • 好题分享、心路历程(力扣601)——连续登录
    【题目介绍】该题为力扣601,名为体育馆的人流量。【题型分类】属于连续专题。官网标为困难题。【思路分享】这里的连续类似时间连续,采用row_number()技巧解题。关......
  • 好题分享、心路历程(力扣2173)——连续登录
    【题目介绍】该题为力扣2173,名为最多连胜的次数。【题型分类】属于连续专题。官网标为困难题。【思路分享】这里的连续不属于时间连续,属于事件连续,采用两次row_numb......
  • 好题分享、心路历程(力扣1225)
    【题目介绍】该题为力扣1225,名为报告系统状态的连续日期。【题型分类】属于连续专题。官网标为困难题。【思路分享】这里的连续属于时间连续,采用row_number()、subd......
  • 力扣---1262. 可被三整除的最大和
    给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。示例1:输入:nums=[3,6,5,1,8]输出:18解释:选出数字3,6,1和8,它们的和是18(可被3整除的最大和)。示例2......
  • 力扣每日一题2023.1.1---2351. 第一个出现两次的字母
    给你一个由小写英文字母组成的字符串s,请你找出并返回第一个出现两次的字母。注意:   如果a的第二次出现比b的第二次出现在字符串中的位置更靠前,则认为字母......