王道数据结构p149——8
代码
#include<stdio.h>
#include<stdlib.h>
typedef struct treenode{
char data;
struct treenode *lchild,*rchild;
}treenode,*tree;
//ABD##E##C##
void create(tree &t);
int findtwo(tree t);
int main(){
tree T;
//stack s;
create(T);
int a = findtwo(T);
printf("%d",a);
return 0;
}
int findtwo(tree t){
int i = 0;
if(t){
if(t->lchild && t->rchild){
i++;
printf("%c ",t->data);
}
i = i + findtwo(t->lchild);
i = i + findtwo(t->rchild);
}
return i;
}
void create(tree &t){
char c;
c = getchar();
if(c == '#') t = NULL;
else{
t = (treenode*)malloc(sizeof(treenode));
t->data = c;
t->lchild = NULL;
t->rchild = NULL;
create(t->lchild);
create(t->rchild);
}
}
注:树的建立参考了B站up 吸血小金鱼