求在一个字符串中第一次出现一次的字符
2012-09-25 23:08
225 查看
比如在字符串“aabccdeff”中第一次出现一次的字符是‘b’
此题是Google面试题,要在短时间内想到时间复杂度是N的解法不简单,本人提供一种相对犀利的解法:
此题是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; }
相关文章推荐
- 利用哈希表的原理,找到一个字符串中第一次出现的一次的字符
- 统计一个字符串中第一次只出现一次的字符
- 剑指offer——查找一个字符串中第一次出现一次的字符(哈希直接定址法)
- [字符串]在一个字符串中查找第一次只出现一次的字符
- 如何找出一个字符串中第一次且只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符(17)
- 剑指offer—字符串中第一次只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- c::在一个字符串中查找第一个只出现一次的字符
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 定义一个字符串类DelSameStr,从左到右对字符串中每个字符删除其后所有相同的字符,只留下第一次出现的那一个。例如,若字符串为”cocoon”,删除重复出现的字符后,其结果是字符串”con”
- [置顶] 在字符串中查找一个特定的字符第一次出现的位置,并返回字符所在位置;如果没有则返回NULL。
- 在一个字符串中找到第一个只出现一次的字符
- 哈希表对字符串的高效处理1:在一个字符串中找到第一个只出现一次字符
- 求出一个字符串中出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符(java实现)
- 在一个字符串中查找第一个只出现一次的字符,要求复杂度为O(N)
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 给定一个字符串,去重(重复的字符只保留第一次出现的)