题目描述:
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
同时遍历p、q两个树,如果出现p、q两个树结构不同或者存在节点的值有不同,那么说明不是相同的树,遍历的过程可以通过的递归来实现。
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q)
{
if(p==NULL&&q==NULL)
return true;
else if((p==NULL&&q!=NULL)||(p!=NULL&&q==NULL))
return false;
else if(p->val!=q->val)
return false;
return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}
};