【华为机试108题】找出字符串中第一个只出现一次的字符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011544909/article/details/79944659

输入描述:
输入一个非空字符串

输出描述:
输出第一个只出现一次的字符,如果不存在输出-1

示例1
输入
asdfasdfo
输出
o


我们可以利用stl库的find函数和rfind函数(反向查找函数),如果正向查找和反向查找的返回值相等,则可以判断这个字符只出现过一次,代码如下:


#include  <bits/stdc++.h>
using namespace std;
int flag[128];

int main()
{
    string str;
    while(cin>>str)
    {
        int i;
        for(i=0;i<str.size();i++)
        {
            if(str.find(str[i])==str.rfind(str[i]))
            {
                cout<<str[i]<<endl;
                break;
            }
        }
        if(i==str.size())
            cout<<-1<<endl;
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/u011544909/article/details/79944659