leetcode 101 对称二叉树

news/2024/7/20 20:11:41 标签: leetcode, 算法, 深度优先

题目 给你一个二叉树的根节点 root , 检查它是否轴对称。
示例 1:
在这里插入图片描述

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

示例 2:
在这里插入图片描述

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

递归思路

  1. 确定递归函数的参数和返回值
    因为我们要比较的是根节点的两个子树是否是相互翻转的,进而判断这个树是不是对称树,所以要比较的是两个树,参数自然也是左子树节点和右子树节点。

  2. 确定终止条件
    要比较两个节点数值相不相同,首先要把两个节点为空的情况弄清楚!否则后面比较数值的时候就会操作空指针了。
    节点为空的情况有:(注意我们比较的其实不是左孩子和右孩子,所以如下我称之为左节点右节点
    左节点为空,右节点不为空,不对称,return false
    左不为空,右为空,不对称 return false
    左右都为空,对称,返回true
    此时已经排除掉了节点为空的情况,那么剩下的就是左右节点不为空:
    左右都不为空,比较节点数值,不相同就return false
    此时左右节点不为空,且数值也不相同的情况我们也处理了。

  3. 确定单层递归的逻辑
    此时才进入单层递归的逻辑,单层递归的逻辑就是处理 左右节点都不为空,且数值相同的情况。
    比较二叉树外侧是否对称:传入的是左节点的左孩子,右节点的右孩子。
    比较内测是否对称,传入左节点的右孩子,右节点的左孩子。
    如果左右都对称就返回true ,有一侧不对称就返回false 。

java递归实现

class Solution {
    public boolean isSymmetric(TreeNode root) {
        //如果根节点为空,则对称
        if (root == null)
        {
            return true;
        }
        //否则判断左右子树是否对称
        return check(root.left, root.right);
    }
    //判断左右子树是否对称的递归函数
    public boolean check(TreeNode node1, TreeNode node2)
    {
        //都为空是对称
        if (node1 == null && node2 == null)
        {
            return true;
        }
        //两边节点不相等的情况
        if (node1 == null || node2 == null || node1.val != node2.val)
        {
            return false;
        }
        return check(node1.left, node2.right) && check(node1.right, node2.left);
    }
}

http://www.niftyadmin.cn/n/1374060.html

相关文章

一道面试题引起的思考

今天在认真干(划)活(水)的时候,看到群里有人发了一道头条的面试题,就顺便看了一下,发现挺有意思的,就决定分享给大家,并且给出我的解决方案和思考过程。 题目如下&#x…

经典电影里的十二生肖

经典电影里的十二生肖 来源:金羊网-羊城晚报 2003-02-08   只有到了羊年,羊才有幸排到其他动物的前面。回头数数,十二生肖都曾经以不同的象征意义出现在电影里,假日里找这些影碟来看看,会有一种别样的味道。  沉…

第一次约男同事看电影,我内心慌得一批

在所有的非法定节日里,最有意思的莫过于双十一了,再经历了秒杀、剁手、狂欢之后,我终于有机会邀(tao)请(lu)新来的运维小哥哥,出去浪一把了。于是…

leetcode 104 二叉树的最大深度

题目:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7] 3/ \9 20/ \15 7返回它的最大深度 3 。 深度优…

女人必修10部电影

坚强、沟通、虚荣、尊严、才华、亲情、苦难、女权、浪漫、性1、《乱世佳人》(1939)(又译:飘)——坚强文学名著改编,得到很多女性读者的喜爱。而影片则同该书一样出色,曾荣获第12届奥斯卡最佳影片…

attention 介绍

前言 这里学习的注意力模型是我在研究image caption过程中的出来的经验总结,其实这个注意力模型理解起来并不难,但是国内的博文写的都很不详细或说很不明确,我在看了 attention-mechanism后才完全明白。得以进行后续工作。 这里的注意力模型是…

《偷天情缘》

港译:偷天情缘台译:今天暂时停止导演:Harold Ramis 主演:安迪麦克道威尔 比尔默里 类型:奇幻 喜剧 浪漫/传奇 发行公司:哥伦比亚 首映日期:1993年2月12日 偷天情缘 “Groundhog Day”(1993)…

Hibernate日志输出到SLF4J

一,Hibernate日志问题 工程使用SLF4J,但日志文件一直没有看到Hibernate相关日志及showsql 二,Logback文件配置 修改Hibernate 日志输出指定为SLF4J,当修改了LOGBACK.xml 的日志输出文件后仍然也没看到hibernate相应日志 logback.xml 关键信息…