【5 树与二叉树】二叉树度为1的结点数。

int Count1(BiTree T){
	InitStack(S);
	BiTree p=T;
	int count=0;
	while(p||!IsEmpty(S)){
		if(p){
			Push(S,p);
			p=p->lchild;
		}
		else{
			Pop(S,p);
			if((p->lchild!=NULL&&p->rchild==NULL)||(p->lchild==NULL&&p->rchild!=NULL))
				count++;
			p=p->rchild;
		}
	}
	return count;
} 
int count=0;
void d1(BiTree T) {
	if(!T)
		return ;
	if((T->lchild&&!T->rchild)||(!T->lchild&&T->rchild))
		count++;
	else
		d1(T->lchild);
		d1(T->rchild);
}

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