第一个只出现一次的字符

关键是统计出每个字符出现的次数,我就想的是建立一个数组,初始都为0,把那个字母的ascii那一位+1,最后当那一位是1就证明只出现了一次。

#include<iostream>
using namespace std;
int main(){
    string s;
    while(cin>>s){
        int flag = 1,i;
        int a[1000]={};
        for(i = 0;i<s.length();i++)
        {
            a[(int)s[i]] += 1;
        }
        for(i = 0;i<s.length();i++)
        {
            if(a[(int)s[i]]==1)
            {
                cout<<s[i]<<endl;
                flag = 0;
                break;
            }
        }
        if(flag)
        {
            cout<<-1<<endl;
        }
    }
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务