一、题目链接
https://leetcxode-cn.com/problems/same-tree/
二、题目思路
遍历整颗树,判断两棵树的每个位置的结点都相同。
每个结点的左右孩子结点都要综合判断
三、题解代码
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);
}