LeetCode:101. 对称二叉树

简介

题目链接:https://leetcode.cn/problems/symmetric-tree/description/

解决方式:二叉树 + 递归

递归

思路:二叉树的左右子树需要镜像对称,我们比较的顺序是 左右子树根节点-左子树的左子节点与右子树的右子节点-左子树的右子节点与右子树的左子节点,依次比较下去即可解决。

java 复制代码
class Solution {
    public boolean isSymmetric(TreeNode root) {
        // 边界处理
        if(root == null) return true;
        // 递归
        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;
        // 递归公式
        return (t1.val == t2.val) && isMirror(t1.left, t2.right) && isMirror(t1.right, t2.left);
    }
}
相关推荐
致Great4 小时前
Pi 的上下文压缩,到底是怎么工作的?
算法
watersink5 小时前
机器学习聚类算法
算法·机器学习·聚类
luj_17686 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
饼饼学习空间智能7 小时前
家庭服务机器人训练数据怎么积累?仿真、真实采集与持续学习的技术路线分析
人工智能·算法·机器学习
蛋先生DX9 小时前
你瘦不下来但大模型可以:量化原理了解一下
深度学习·算法·llm
Scabbards_9 小时前
面试Leetcode - Heap 堆
java·leetcode·面试
牛阿大10 小时前
LQR算法
算法
(╹◡╹)10 小时前
18.剪枝
算法·机器学习·剪枝
Fa_Mian_Tuan11 小时前
图论基础|邻接矩阵超详细讲解(含无向/有向/带权图+完整可运行C语言代码)
c语言·数据结构·笔记·算法·图论