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;

    }
};
相关推荐
数研小生1 小时前
构建命令行单词记忆工具:JSON 词库与艾宾浩斯复习算法的完美结合
算法·json
芒克芒克1 小时前
LeetCode 题解:除自身以外数组的乘积
算法·leetcode
Python 老手1 小时前
Python while 循环 极简核心讲解
java·python·算法
@Aurora.2 小时前
优选算法【专题九:哈希表】
算法·哈希算法·散列表
爱看科技2 小时前
微美全息(NASDAQ:WIMI)研究拜占庭容错联邦学习算法,数据安全与隐私保护的双重保障
算法
qq_417129252 小时前
C++中的桥接模式变体
开发语言·c++·算法
YuTaoShao3 小时前
【LeetCode 每日一题】3010. 将数组分成最小总代价的子数组 I——(解法二)排序
算法·leetcode·排序算法
XH华4 小时前
备战蓝桥杯,第七章:函数与递归
职场和发展·蓝桥杯
吴维炜4 小时前
「Python算法」计费引擎系统SKILL.md
python·算法·agent·skill.md·vb coding
Σίσυφος19005 小时前
PCL Point-to-Point ICP详解
人工智能·算法