网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 其他技术区 > 算法与数据结构 >

给定二叉树的根节点 root,判断它是否 轴对称(

时间:2025-08-06 15:45

人气:

作者:admin

标签:

导读:题目:给你一个二叉树的根节点 root , 检查它是否轴对称。 这个题的思路是,把「轴对称」转化为「两棵子树互为镜像」的问题: 递归比较:左子树的左孩子 vs 右子树的右孩子,左子...

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

image

这个题的思路是,把「轴对称」转化为「两棵子树互为镜像」的问题:

  • 递归比较:左子树的左孩子 vs 右子树的右孩子,左子树的右孩子 vs 右子树的左孩子。

  • 迭代法:可用队列/栈每次成对弹出节点比较。

复杂度:

时间复杂度:O(n),每个节点访问一次

空间复杂度:

  • 递归:O(h)(栈深度)

  • 迭代:O(n)(队列最大宽度)

1、递归比较

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

        if(root.left==null || root.right==null){
            return false;
        }
    
        // 判断左右子树是否镜像对称
        return isMirror(root.left, root.right);
        
    }

    private boolean isMirror(TreeNode t1, TreeNode t2){
        if(t1==null && t2==null){
            return true;
        }

        if(t1==null || t2==null){
            return false;
        }
        // 递归比较:
        // 1.左子树 vs 右子树
        // 2.左子树的左孩子 vs 右子树的右孩子
        // 3.左子树的右孩子 vs 右子树的左孩子
        if(t1.val == t2.val && isMirror(t1.left, t2.right) && isMirror(t1.right, t2.left)){
            return true;
        }else{
            return false;
        }
    }
}

2、迭代法(队列双指针)

class Solution {
    public boolean isSymmetric(TreeNode root) {
        if (root == null) return true;
        Queue<TreeNode> q = new LinkedList<>();
        q.offer(root.left);
        q.offer(root.right);

        while (!q.isEmpty()) {
            TreeNode t1 = q.poll();
            TreeNode t2 = q.poll();
            if (t1 == null && t2 == null) continue;
            if (t1 == null || t2 == null || t1.val != t2.val) return false;
            q.offer(t1.left);  q.offer(t2.right);
            q.offer(t1.right); q.offer(t2.left);
        }
        return true;
    }
}
所有正文内容皆为本人原创,禁止搬运
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信