找出字符串中只出现一次的第一个字符
2011-06-17 18:03
316 查看
#include <iostream> using namespace std; char str[] = "abaccdeff"; const int size = 26; int hashTable[26]; void FindFirstOne(char *str) { char* pStr = str; while(*pStr != '/0') { hashTable[*pStr - 'a']++; pStr++; } pStr = str; while(*pStr != '/0') { if(hashTable[*pStr - 'a'] == 1) { cout << "first one is: " << *pStr << endl; break; } pStr++; } } void main() { FindFirstOne(str); }
上述算法不能包含其他字符,更新如下:
int findFirstChar(const char *array, int len) { for (int i = 0; i < size; i++) hashBuff[i] = 0; for (int i = 0; i < len; i++) { hashBuff[array[i]]++; } for (int i = 0; i < len; i++) { if (hashBuff[array[i]] == 1) return i; } return -1; }
相关文章推荐
- 给定一个字符串,找出其中第一个只出现了一次的字符
- 找出一个字符串中第一个只出现一次的字符
- 华为OJ基础篇-找出字符串中第一个只出现一次的字符
- 华为OJ题目(一):找出字符串中第一个出现一次的字符
- 华为OJ(找出字符串中第一个只出现一次的字符)
- 只允许遍历一遍字符串,找出字符串中第一个只出现一次的字符
- 华为Oj 找出字符串第一个出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串的第一个只出现一次的字符
- 27.找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 华为OJ 初级:找出字符串中第一个只出现一次的字符
- 华为OJ:找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出一个字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- [剑指Offer-字符串]请实现一个函数用来找出字符流中第一个只出现一次的字符。
- 找出字符串中第一个只出现一次的字符