力扣(LeetCode) ——100. 相同的树(C语言)

题目:相同的树



解题思路:

根据题目描述如果两个二叉树都为空,则两个二叉树相同。如果两个二叉树中只有一个为空,则两个二叉树一定不相同。

如果两个二叉树都不为空,那么首先判断它们的根节点的值是否相同,若不相同则两个二叉树一定不同,若相同,再分别判断两个二叉树的左子树是否相同以及右子树是否相同。递归地判断两个二叉树是否相同。

最终代码:

cpp 复制代码
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
    //同时为空
    if(p == NULL && q == NULL)
    {
        return true;
    }
    //一个为空 
    if(p == NULL || q == NULL)
    {
        return false;
    }
    //都不为空
    if(p->val != q->val)
    {
        return false;
    }
    return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}

赶紧动起手来吧!!!

点击下方即可跳转
相同的树

相关推荐
vortex528 分钟前
HTB Mailing 靶机渗透记录:利用 CVE-2024-21413 捕获 NTLM Hash
算法·哈希算法
王哥儿聊AI1 小时前
告别人工出题!PromptCoT 2.0 让大模型自己造训练难题,7B 模型仅用合成数据碾压人工数据集效果!
人工智能·深度学习·算法·机器学习·软件工程
机器学习之心2 小时前
198种组合算法+优化BiGRU双向门控循环单元+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备!
深度学习·算法·shap分析·新数据预测·优化bigru
小胖xiaopangss3 小时前
栈的压入弹出序列--牛客
数据结构·c++·算法
_给我学起来3 小时前
前缀和数组
算法
程序员莫小特3 小时前
老题新解|求三角形面积
开发语言·数据结构·c++·算法·信息学奥赛一本通
mc23563 小时前
C语言指针详解
c语言·开发语言·算法
Asmalin3 小时前
【代码随想录day 30】 力扣 763. 划分字母区间
算法·leetcode·职场和发展
小欣加油3 小时前
leetcode 526 优美的排列
c++·算法·leetcode·职场和发展·深度优先·剪枝
代码充电宝4 小时前
LeetCode 算法题【简单】49. 字母异位词分组
java·算法·leetcode·面试·哈希算法