维护一个长26的数组来记录出现次数,然后遍历我们的字符串,如果字符串中的字符已经出现过,就没有比较的必要,如果这个字符第一次出现,就拿它和后面的元素进行比较,若出现相同元素,则对应位置的出现次数+1,若比较完后,对应位置的出现次数还是1,则证明这是我们所需要的元素,直接输出它即可。

using namespace std;
int main(){
    string s;
    while(cin>>s){
         int hasChara=0;//记录是否出现满足要求的字符。
         int a[26]={0};//用于记录出现次数。
         for(int i=0;i<s.size();i++){
             if(a[s[i]-'a']!=0){
                 continue;//如果这个数已经出现过,直接pass
             }
             else {//如果这个数没出现过,就继续往后比较。
                 a[s[i]-'a']++;
                 for(int j=i+1;j<s.size();j++){//往后比较,若出现相同元素,对应位置的出现次数加1
                     if(s[j]==s[i]){
                         a[s[i]-'a']++;
                     }
                 }
                 if(a[s[i]-'a']==1){//只出现过一次
                     cout<<s[i]<<endl;
                     hasChara=1;
                     break;
                 }
             }
         }
        if(hasChara==0){
            cout<<-1<<endl;
        }
    }
}