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; }
结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!