题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 分析:这道题是2006年google的一
道笔试题。
//============================================================================
// Name : FirstNotRepeatChar.cpp
// Author : Lee
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include<map>
using namespace std;
bool findFirstNotRepeatedChar(char * str,char & res){
int chars[256]={0};
for(char * c=str;*c!=0;c++){
chars[*c]++;
}
for(char *c=str;*c!=0;c++){
if(1==chars[*c]){
res=*c;
return true;
}
}
return false;
}
int main() {
char * str="!!!Hello World!!!" ;
char res;
if(findFirstNotRepeatedChar(str,res)){
cout<<res<<endl;
}else{
cout<<"false"<<endl;
}
return 0;
}
本想用map<char,int>实现,但无耐map对关键字排序