【Leetcode 100.】判断两颗二叉树是否是相同的树

发布时间:2024年01月23日

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码:

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);
}

思路:

我一开始写的代码是想按照:自己,左子树,右子树的思路来的,先判断自己跟自己的左孩子右孩子是否和另一棵树相等,但是遇到了问题:当两棵树的root都有左孩子时,会误判成false
在这里插入图片描述
在这里插入图片描述
这种就过不了了

所以将思路改为只判断当前节点是否两棵树相等,让左孩子和右孩子去当下一次递归的主体

文章来源:https://blog.csdn.net/Legend_6zh/article/details/135749603
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。