力扣(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);
}

赶紧动起手来吧!!!

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

相关推荐
kk”21 小时前
C语言快速排序
数据结构·算法·排序算法
纪元A梦21 小时前
贪心算法应用:基因编辑靶点选择问题详解
算法·贪心算法
3壹21 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
skytier1 天前
Construct内报错和定位解决
算法
skytier1 天前
Ascend print数据落盘使用
算法
etcix1 天前
dmenux.c: integrate dmenu project as one file
c语言·前端·算法
papership1 天前
【入门级-算法-6、排序算法:选择排序】
数据结构·算法·排序算法
汉克老师1 天前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(4、最大空白区)
c++·算法·蓝桥杯·蓝桥杯c++·c++蓝桥杯
共享家95271 天前
优先搜索(DFS)实战
算法·leetcode·深度优先
一只懒洋洋1 天前
中值滤波、方框滤波、高斯滤波、均值滤波、膨胀、腐蚀、开运算、闭运算
算法·均值算法