单链表统计数字字符个数

本题要求实现一个函数,返回带头结点的单链表中数字字符的个数。

函数接口定义:

int CharacterCount(LinkList L);

L是带头结点的单链表的头指针,函数CharacterCount返回L中数字字符的个数。如果单链表为空,返回0。

其中LinkList结构定义如下:

typedef struct LNode
{
    ElemType data;
    struct LNode *next;
}LNode,*LinkList;

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>

typedef char ElemType;
typedef struct LNode
{
    ElemType data;
    struct LNode *next;
}LNode, *LinkList;

LinkList Create();/* 细节在此不表 */

int CharacterCount(LinkList L);
int main()
{
    LinkList L, p;
    ElemType e;
    L = Create();
    printf("The number of numeric characters is %d.\n", CharacterCount(L));
    return 0;
}
/* 你的代码将被嵌在这里 */

输入格式:
输入数据为1行,给出以#结束的单链表元素(#不属于单链表元素)。

输入样例:
Abc0D3E15x#
输出样例:
The number of numeric characters is 4.

供参考:

int CharacterCount(LinkList L)
{
    int cnt = 0;
    if (L == NULL || L->next == NULL)  return 0;
    LinkList p = L->next;
    while (p){
          if (p->data >= '0' && p->data <='9') cnt++;
          p = p->next;
    }
    return cnt;
}