【5 树与二叉树】判断两个二叉树是否相同。

typedef struct BiTNode{
	int data;
	struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree; 

int judge(BiTree T1,BiTree T2){
	if(!T1&&!T2)								//都空返回真 
		return 1;
	else if(T1->data!=T2->data)		//结点值不同返回假 
		return 0;
	else										//结点值相同但非空判断左右子树,返回值相乘同1才1 
		return (judge(T1->lchild,T2->lchild)*judge(T1->rchild,T2->rchild));
}

1)都空,返回1

2)结点值不同,返回0

3)结点值相同且非空,则返回左右子树的函数返回值相乘,都1才相同

你可能感兴趣的:(5,树与二叉树,数据结构)