统计一个字符串中出现的 无重复字符的个数
标准ASCII码表中有128个字符。
具体代码:
int getCount(char *str){
if (str == NULL){
return 0;
}
int cnt = 0;
char flag[128] = {0};
while (*str){
if (*str >= 0 || *str <= 127){
if (flag[*str] == 0){
cnt++;
flag[*str] = 1;
}
}
str++;
}
return cnt;
}
注释
if (str == NULL){ //先判断传入的字符串是否为空
return 0; //若为空,直接返回
}
if (flag[*str] == 0) //这个字符第一次统计到。
flag[*str] = 1; //然后将标志位置 1。
这两句结合表示:当同一个字符再次出现时,不再统计。