题目:
实现一个算法来识别一个字符串的字符是否是唯一的(忽略字母大小写)。若唯一,则输出YES
,否则输出NO
。
题解:
用一个字符数组来记录每个字符出现的次数,唯一输出YES,有一个数出现两次时输出NO。一个字符占一字节也就是8位,所以最多可以表示个字符同时它们使用ASCII码来表示值的范围证号也是0~255,所以可以用一个长度为256的字符数组来记录每个字符出现的次数了。
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
int c[255]={0};
for(int i=0;s[i];i++){
c[s[i]]++;
if(c[s[i]]==2){
cout<<"NO";
return 0;
}
}
cout<<"YES";
return 0;
}