码迷,mamicode.com
首页 > 其他好文 > 详细

Same Tree

时间:2014-12-16 21:08:09      阅读:189      评论:0      收藏:0      [点我收藏+]

标签: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));
}


Same Tree

标签:des   style   ar   io   color   on   cti   ef   amp   

原文地址:http://blog.csdn.net/uj_mosquito/article/details/41963775

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!