当前位置: 首页 > article >正文

Leecode热题100-101.对称二叉树

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

示例 1:

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

示例 2:

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

提示:

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

进阶:你可以运用递归和迭代两种方法解决这个问题吗?

比较简单的题,我这里用的是递归,直接上代码了

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    /**对称二叉树的特点是左右子树 */
    public boolean isSymmetric(TreeNode root) {
        /**这里可能不太好理解,你也可以写成root.left和root.right */
        return isSymmetric(root, root);
    }

    public boolean isSymmetric(TreeNode root1, TreeNode root2) {
        /**如果都是空树,返回true */
        if(root1 == null && root2 == null) {
            return true;
        }
        /**如果一个是空树,一个不是,那肯定不对称 */
        if(root1 == null || root2 == null) {
            return false;
        }
        /**如果都不为空的话,需要root1和root相等并且需要root1的左树和root2的右树以及root1的右树和root2的左树对称 */
        return root1.val == root2.val && isSymmetric(root1.left, root2.right) && isSymmetric(root1.right, root2.left);
    }
}


http://www.kler.cn/news/357114.html

相关文章:

  • 等保测评中的安全培训与意识提升
  • SQL Server 2019数据库“正常,已自动关闭”
  • 【Orange Pi 5 Linux 5.x 内核编程】-驱动程序参数
  • 删除node_modules文件夹
  • 《YOLO1》论文精读:第一次实现端到端的目标检测
  • MFC工控项目实例二十五多媒体定时计时器
  • Pollard‘s p-1算法
  • 工信部绿色工厂、绿色设计产品、绿色供应链企业、绿色园区名单(2017-2022年)
  • ORACLE 的SCHEDULER创建JOB
  • 【MogDB】MogDB5.2.0重磅发布第四篇-支持windows版gsql,兼容sqlplus/sqlldr语法
  • 电影评论网站:Spring Boot技术栈应用
  • 压缩SQL Server 2014 数据库日志文件
  • OpenHarmony中EAP-PEAP认证支持 GTC方式
  • 【leetcode|哈希表、动态规划】最长连续序列、最大子数组和
  • 在合规的地方怎么用EACO地球链兑换交换价值?
  • Linux操作系统切换设置系统语言
  • C++学习笔记----9、发现继承的技巧(三)---- 尊重父类(2)
  • [环境配置]macOS上怎么查看vscode的commit id
  • 力扣动态规划基础版(斐波那契类型)
  • Android 禁止App字体随系统大小而更改