leetcode 100. Same Tree
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.
AC:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
if(p==NULL||q==NULL)
{
if(p==NULL&&q==NULL)
{
return true;
}
else
{
return false;
}
}
if(p->val!=q->val)
{
return false;
}
else
{
return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}
}
if(p==NULL||q==NULL)
{
if(p==NULL&&q==NULL)
{
return true;
}
else
{
return false;
}
}
if(p->val!=q->val)
{
return false;
}
else
{
return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}
}
tips: 很nice~