找出第一个只出现一次的字符

/*输入的范围a~z
如:输入abcabad   输出c若没有,输出no 
O(n)  
思路:str  放字符串
      az[27]数组  a到z的字符桶 统计各个字符出现的个数
      按照str的次序,去查az数组桶里的值为1的字母 
*/

#include<iostream>
#include<string>
int az[27];
using namespace std;
int main() {
    string str;
    cin>>str;
    int j=0;
    for(int i=0;i<str.size();i++){
        az[str[i]-'a']++;
    }
    for(int i=0;i<str.size();i++){// 
        if(az[str[i]-'a']==1) {
            cout<<str[i]<<endl; return 0;
        }
    }
    cout<<"no"<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/shortail1/article/details/82347038