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);
}

递归流程图:


相关推荐
WZF-Sang6 分钟前
TCP和UDP协议
linux·服务器·网络·c++·学习·tcp/ip·udp
my_power5208 分钟前
大模型概述学习笔记
笔记·学习
心中有国也有家9 分钟前
Flutter 鸿蒙编译与构建流程深度解析
学习·flutter·华为·harmonyos
敲不会代码也学不会英语14 分钟前
【AI学习之旅02】AI全景图:一张图看懂AI生态——机器学习/深度学习/大模型关系与术语扫盲
人工智能·学习·机器学习
LiaoWL12337 分钟前
【SpringCloud合集-02】Spring Cloud LoadBalancer 负载均衡器学习笔记
学习·spring cloud·负载均衡
YUS云生41 分钟前
Python学习笔记·第28天:Git入门——版本控制与基础操作
笔记·python·学习
Yang_jie_0343 分钟前
笔记:数据结构(链表)
数据结构·笔记·链表
xiaoyuchidayuma44 分钟前
【# 电压极限圆、电流极限圆、MTPA曲线、最大功率曲线的关系】
笔记·学习
问君能有几多愁~9 小时前
C++ 数据结构复习笔记
数据结构·c++·笔记
至乐活着10 小时前
深入解析跳表SkipList:原理、实现与性能优化实战
数据结构·算法·跳表·skiplist·java实现