H面试程序(12): 输出字符串中第一个只出现一次的字母
2013-08-20 08:26
330 查看
题目描述:
若字符串str为'' sbdddsbfc'',则输出 f;
若字符串str为''aabbccdd'',则输出:字符串str中的字符都出现两次以上
若字符串str为'' sbdddsbfc'',则输出 f;
若字符串str为''aabbccdd'',则输出:字符串str中的字符都出现两次以上
#include<stdio.h> #include<assert.h> #include<memory.h> #include<malloc.h> int find_first_char(char* str) { assert(str); char * phash = (char *)malloc(sizeof(int ) *256); //不能是int类型 assert(phash); memset(phash, 0 , 256); int i = 0 ; // 第一遍进行映射 while(str[i] !='\0') { phash[str[i]] ++; i++; } //第二遍找到第一个唯一只出现一个的字母 i = 0; while(str[i] !='\0') { if(phash[str[i]] == 1) return i; i++; } return 0; } int main( ) { char a[ ] = "aabsbccdFCD"; int pos = find_first_char(a); if( 0 != pos) { printf("%c\n",a[pos]); } else printf("没有这样的字母!"); return 0; }
相关文章推荐
- H面试程序(12): 输出字符串中第一个只出现一次的字母
- 【剑指Offer-时间效率平衡】在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 微软面试100题目之17 :在一个字符串中找到第一个只出现一次的字符。
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b;
- Java:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 在一个字符串中,找到第一个只出现一次的字符,例如:abaccdef,输出b
- 在字符串中找出第一个只出现一次的字符串,如输入"abaccdeff",输出'b'
- python学习:找到字符串中第一个只出现一次的字母
- 【笔试题】C语言:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出&#39;b&#39;。
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 美图面试问到的一个题:求一个字符串中第一个仅出现一次的字符
- 【练习】在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 输出一个字符串中第一个只出现过一次的字符
- 如何在字符串里查找第一个不重复的字母,即只出现一次的最靠前的字母
- C语言:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出&#39;b&#39;
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b