LeetCode 100 Same Tree

本文详细介绍了使用递归方法解决树结构问题,特别针对判断两棵树是否完全相同的问题进行了深入分析。通过理解根节点、子节点的关系以及递归的基本原理,读者可以掌握解决此类问题的核心技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目








分析


树的题一般用递归就可以解决,每次写递归函数的时候都不知道写的全不全,结果每次都是一遍就能过=  =

判断两棵树是否一样在判断的时候只要发现一处不一样,结果就是不一样。如果全部一样才一样。

经验就是一定要把根节点的情况分析清楚,可能存在可能不存在,也可能一个存在一个不存在,当两个根节点都存在的情况下数值也一样,则需要递归到它们的子节点。




题解


class Solution {
public:
    bool isSameTree(TreeNode *p, TreeNode *q) {
        if(p!=NULL && q==NULL ||  p==NULL && q!=NULL)
        {
            return false;
        }
        else if(p==NULL && q==NULL)
            return true;
        else
        {
            if(p->val != q->val)
                return false;
            else
            {
                return isSameTree(p->left,q->left) && isSameTree(p->right,q->right) ?  true : false;
            }
        }
            
    }
};






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值