标签:des style ar io color on cti ef amp
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.
#include<stdio.h>
#include<stdlib.h>
typedef struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
// TreeNode(int x) : val(x), left(NULL), right(NULL) {}
}TreeNode;
TreeNode *create(TreeNode *p)
{
char c;
scanf("%c",&c);
if(c=='#') p=NULL;
else{
p=(TreeNode *)malloc(sizeof(TreeNode));
p->val=c;
p->left=create(p->left);
p->right=create(p->right);
}
return p;
}
void mintravel(TreeNode *p)
{
if(p!=NULL){
mintravel(p->left);
printf("%c",p->val);
mintravel(p->right);
}
}
int isSameTree(TreeNode *p, TreeNode *q)
{
if(p!=NULL && q!=NULL){
if(p->val != q->val) return 0;
return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}
if((p!=NULL && q==NULL)||(p==NULL && q!=NULL)) return 0;
else return 1;
}
void main()
{
TreeNode *p=create(p);
TreeNode *q=create(q);
mintravel(p);
printf("\n");
mintravel(q);
printf("\n%d\n",isSameTree(p,q));
}标签:des style ar io color on cti ef amp
原文地址:http://blog.csdn.net/uj_mosquito/article/details/41963775