LeetCode - 100. 相同的树

目录

题目

深度优先搜索方法步骤

正确的写法


题目

100. 相同的树 - 力扣(LeetCode)

深度优先搜索方法步骤

递归比较两棵树的结构和节点值

基本情况判断:

  • 如果两棵树都为空(p和q都是nullptr),返回true
  • 如果一棵树为空而另一棵不为空,返回false

节点值比较:

  • 如果当前节点的值不相同,返回false

递归比较:

  • 递归比较左子树是否相同
  • 递归比较右子树是否相同
  • 只有当左右子树都相同时,才返回true

使用"与"(&&)操作连接所有判断条件,确保所有条件都满足

正确的写法

cpp 复制代码
class Solution {
public:
    bool isSameTree(TreeNode* p, TreeNode* q) {
        if(!p && !q)
        {
            return true;
        }

        if(!p || !q)
        {
            return false;
        }

        if(p->val != q->val)
        {
            return false;
        }

        bool left_result = isSameTree(p->left,q->left);
        bool right_result = isSameTree(p->right,q->right);

        return left_result && right_result;

    }
};
相关推荐
动词ing10 小时前
【C语言题目练习】算法 整数反转
c语言·开发语言·算法
Nil20810 小时前
leetcode 55跳跃游戏
算法·leetcode·游戏
longlongzihan10 小时前
LeetCode 128. 最长连续序列 —— 从排序到哈希集合
数据结构·c++·算法·leetcode·排序算法·哈希表
mmmmath_310 小时前
二叉树の一些知识
数据结构·算法
DongQiShanRen10 小时前
裁决台账双向互校(下):台账哈希链、三向对账与最小落地
人工智能·深度学习·算法·目标跟踪·自然语言处理·rust·哈希算法
SWAGGY..10 小时前
【C++进阶】:(7)红黑树的原理与 C++ 实现:结构设计、插入调整及性质验证
android·java·开发语言·c++·算法
-dzk-10 小时前
【技巧】LC 31.下一个排列
算法
考研保研资料分享10 小时前
电子信息保研经验合辑:复旦直博与北邮集成电路,夏令营、预推免和专业面试
数学建模·面试·职场和发展·信息与通信
(Charon)11 小时前
【C++面试】迭代器失效是什么?vector、list、map中如何避免迭代器失效
c++·算法·面试
圣保罗的大教堂12 小时前
leetcode 3302. 字典序最小的合法序列 中等
leetcode