题目连接
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define maxn 55
char pre[maxn];
typedef struct node
{
char ch;
struct node *left, *right;
}node, *Node;
int i;
Node create()
{
if(pre[i] == ',')
{
i++;
return NULL;
}
Node T = (Node)malloc(sizeof(node));
T->ch = pre[i];
i++;
T->left = create();
T->right = create();
return T;
}
int countLeaf(Node T)
{
if(T == NULL)return 0;
int cnt = 0;
if(!T->left&&!T->right)
return 1;
cnt += countLeaf(T->left);
cnt += countLeaf(T->right);
return cnt;
}
int main()
{
while(~scanf("%s", pre))
{
Node root = NULL;
i = 0;
root = create();
int ans = countLeaf(root);
printf("%d\n", ans);
}
return 0;
}