题目描述
772.只出现一次的字符
难点在于另开一个长度26的数组来存储a-z出现的次数
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
char str[100010];
int cnt[26];
int main(){
//另开一个长度26的数组存储a-z出现的次数(难点)
cin>>str;
int len=strlen(str);
for(int i=0;i<len;i++)
cnt[str[i]-'a']++;
for(int i=0;i<len;i++){
if(cnt[str[i]-'a']==1){
cout<<str[i]<<endl;
return 0;
}
}
puts("no");
return 0;
}
不求长度也行,str[i]时间能缩短
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
char str[100010];
int cnt[26];
int main(){
//另开一个长度26的数组存储a-z出现的次数(难点)
cin>>str;
for(int i=0;str[i];i++)//str[i]时间能缩短
cnt[str[i]-'a']++;
for(int i=0;str[i];i++){
if(cnt[str[i]-'a']==1){
cout<<str[i]<<endl;
return 0;
}
}
puts("no");
return 0;
}