您的位置:首页 > 其它

查找字符串里面有没有相同的字符- -

2007-03-27 23:00 246 查看
在chinaunix论坛里看到的,真的很精妙:

写一个函数fn(),功能是传一个参数是字符串,查找里面有没有相同的字符,有的话返回1,否则0.
两种方法,一是效率最高的,二是最节省内存的.

int fn0(const char *str)
{
char num[256] = {0};
unsigned char *pos = (unsigned char *)str;
while (*pos != 0 && num[*pos] == 0) {
num[*pos++] = 1;
}
return *pos == 0 ? 0 : 1;
}

int fn1(const char *str)
{
const char *p1, *p2;
if (*str == 0)
return 0;
for (p1 = str; *p1 != 0; p1++) {
for (p2 = p1 + 1; *p2 != 0; p2++) {
if (*p1 == *p2)
return 1;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: