问题描述:
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.
解题思路:
给定两棵二叉树,判断是否为等价二叉树。递归即可:
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)||(p->val!=q->val))
return false;
else if(p->val==q->val)
return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}
};
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if(p==NULL&&q==NULL)
return true;
else if((p!=NULL&&q==NULL)||(p==NULL&&q!=NULL)||(p->val!=q->val))
return false;
else if(p->val==q->val)
return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}
};