您的位置:首页 > 职场人生

求在一个字符串中第一次出现一次的字符

2012-09-25 23:08 225 查看
比如在字符串“aabccdeff”中第一次出现一次的字符是‘b’

此题是Google面试题,要在短时间内想到时间复杂度是N的解法不简单,本人提供一种相对犀利的解法:

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

char first(char *str)
{
int a[255];
char *p = str;
memset(a,0,255*sizeof(int));
while(*p != '\0')
{
a[*p]++;
p++;
}
p = str;
while(*p != '\0')
{
if(a[*p] == 1)
return *p;
p++;
}
return '\0';
}
int main(int argc,char *argv[])
{
char *str = "aabccdeff";
printf("%c\n",first(str));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  google 面试 c
相关文章推荐