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

递归流程图:


相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘4 分钟前
计算机网络学习-- IP 报文和 ICMP 报文
学习·tcp/ip·计算机网络
晚风(●•σ )5 分钟前
【数据结构】——算法设计范式的相关习题
数据结构·算法·贪心算法·深度优先·动态规划·剪枝·广度优先
车载测试工程师8 分钟前
CAPL学习-SOME/IP交互层-客户端API函数
网络·学习·tcp/ip·capl·canoe
chase。12 分钟前
【学习笔记】线性复杂度微分逆运动学:增广拉格朗日视角深度解析
人工智能·笔记·学习
YJlio18 分钟前
Active Directory 工具学习笔记(10.5):AdInsight 数据捕获与显示选项——把噪声压下去,把关键抬上来
人工智能·笔记·学习
zxb@hny24 分钟前
Hazel游戏引擎学习
学习·游戏引擎
测试人社区—66791 小时前
破茧成蝶:DevOps流水线测试环节的效能跃迁之路
运维·人工智能·学习·flutter·ui·自动化·devops
Jackyzhe1 小时前
Flink学习笔记:多流 Join
笔记·学习·flink
盐焗西兰花4 小时前
鸿蒙学习实战之路 - 网络重连最佳实践
网络·学习·harmonyos
酒尘&8 小时前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js