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);
    }
}
相关推荐
冻柠檬飞冰走茶17 分钟前
PTA基础编程题目集 7-15 计算圆周率(C语言实现)
c语言·开发语言·数据结构·算法
问商十三载25 分钟前
AI 引擎生成式优化两种思路怎么选?2026 对比分析附选型方法
人工智能·算法
hanlin031 小时前
刷题笔记:力扣第704、977、209题(数组相关)
笔记·算法·leetcode
陕西企来客2 小时前
生成式引擎优化(GEO)行业白皮书:从流量分配到认知占有的战略跃迁
人工智能·算法·机器学习·技术好geo优化
清泓y2 小时前
深度学习算法
算法·ai·语言模型·面试
m沐沐2 小时前
【深度学习】循环神经网络RNN——结构、原理与长期依赖问题解析
人工智能·pytorch·python·rnn·深度学习·算法·机器学习
Rabitebla3 小时前
C++ 内存管理全面复习:从内存分布到 operator new/delete
java·c语言·开发语言·c++·算法·leetcode
玖玥拾3 小时前
LeetCode 58 最后一个单词的长度
算法·leetcode
LONGZETECH3 小时前
工业实训仿真设计实践:电机拆装软件的 DAG 流程建模、工具精度分级与数据体系搭建
大数据·算法·unity·架构·汽车