leetcode 101.对称二叉树

⭐️ 题目描述


🌟 leetcode链接:对称二叉树

思路: 这道题和 leetcode 100.相同的树 类似,是上一道的变形题。✨leetcode 100.相同的树 代码链接:【往期文章】leetcode 100.相同的树。这道题把根的左子树和右子树看作两个不同的树来,需要注意的是,每次往下递归的时候,是当前 root->left root->rightroot->rightroot->left 来判断是否是相同的树(因为是判断是否对称)。

1️⃣ 代码:

c 复制代码
bool isSame (struct TreeNode* tree1 , struct TreeNode* tree2) {
    // 如果两个都为空 说明结构相同
    if (tree1 == NULL && tree2 == NULL) {
        return true;
    }
    // 来到这里有三种情况
    // 1.tree1 == NULL tree2 != NULL
    // 2.tree1 != NULL tree2 == NULL
    // 一个节点为空 一个节点不为空 结构不同返回 false
    if (tree1 == NULL || tree2 == NULL) {
        return false;
    }
    // 3.tree1 != NULL tree2 != NULL
    if (tree1->val != tree2->val) {
        return false;
    }

    return isSame(tree1->left , tree2->right) &&
            isSame(tree1->right , tree2->left);
}

// 把左树和右树当作两个不同的树去比较
bool isSymmetric(struct TreeNode* root){
    if (root == NULL) {
        return true;
    }

    return isSame(root->left , root->right);
}

递归流程图:


相关推荐
振浩微433射频芯片4 分钟前
告别“喊破嗓”:深度解析433MHz射频在宠物训练器中的核心应用与选型
单片机·嵌入式硬件·物联网·学习·宠物
知识分享小能手15 分钟前
Flask入门学习教程,从入门到精通, Flask模板 — 完整知识点与案例代码 (2)
python·学习·flask
南境十里·墨染春水19 分钟前
数据结构 —— 链表
数据结构·链表
humors22135 分钟前
突破学习瓶颈:十个需要克服的障碍
大数据·学习·程序人生
GEO从入门到精通36 分钟前
在哪里能买到GEO学习工具或课程?
人工智能·学习
心中有国也有家38 分钟前
从零上手 CANN 学习中心:像逛技术便利店一样学昇腾
学习·算法·开源
图码1 小时前
二分查找进阶:如何在有序数组中快速找到Upper Bound?
数据结构·算法·面试·分类·柔性数组
Cthy_hy1 小时前
树状数组(BIT)进阶:差分优化实现区间修改、区间查询
数据结构·python·算法
¿i?1 小时前
对多元微积分的简单理解
学习
TMT星球1 小时前
伴鱼袁志强:AI个性化学习告别“推题时代”,教育 AI Harness 进入学习全过程
人工智能·学习