1.解题思路
可以使用递归遍历的方法,只要有一条边的值不相同则就返回false,如果到头了就返回true.并且在最后做出判断,如果对应的左子树和右子树都相同,那就返回true,但凡一边有不同的就返回false.
2.代码实现
bool isSameTree(struct TreeNode* p, struct TreeNode* q)
{ if(p==NULL&&q!=NULL)
return false;
if(p!=NULL&&q==NULL)
return false;
if(p==NULL&&q==NULL)
return true;
if(p->val!=q->val)
return false;
int x1=isSameTree(p->left, q->left);
int x2= isSameTree(p->right, q->right);
if(x1==x2&&x1!=0)
return true;
else
return false;
}
结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!