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

赶紧动起手来吧!!!

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

相关推荐
暴风鱼划水10 小时前
算法题(Python)数组篇 | 6.区间和
python·算法·数组·区间和
zl_vslam10 小时前
SLAM中的非线性优-3D图优化之轴角在Opencv-PNP中的应用(一)
前端·人工智能·算法·计算机视觉·slam se2 非线性优化
是苏浙10 小时前
零基础入门C语言之C语言实现数据结构之顺序表应用
c语言·数据结构·算法
lkbhua莱克瓦2411 小时前
Java基础——常用算法3
java·数据结构·笔记·算法·github·排序算法·学习方法
小白程序员成长日记11 小时前
2025.11.07 力扣每日一题
数据结构·算法·leetcode
·白小白11 小时前
力扣(LeetCode) ——209. 长度最小的子数组(C++)
c++·算法·leetcode
小猪咪piggy11 小时前
【算法】day16 动态规划
算法·动态规划
ohnoooo911 小时前
251106 算法
数据结构·c++·算法
uesowys11 小时前
华为OD算法开发指导-简易内存池
java·算法·华为od
Greedy Alg11 小时前
LeetCode 155. 最小栈
算法