1. 程式人生 > >劍指offer--找出字串中第一個只出現一次的字元(題面已經更新)C++

劍指offer--找出字串中第一個只出現一次的字元(題面已經更新)C++

題目描述:
找出字串中第一個只出現一次的字元

輸入描述:
輸入一個非空字串

輸出描述:
輸出第一個只出現一次的字元,如果不存在輸出-1

示例1
輸入
asdfasdfo
輸出
ö

程式碼實現如下:

#include<iostream>
#include<string>
#include<map>
using namespace std;

int main()
{
    string str;
    while(cin>>str)
    {
        bool flag=false;
        map<char
,int>
m; for(int i=0;i<str.size();i++) { m[str[i]]++; } int i=0; for(int i=0;i<str.size();i++) { if(m[str[i]]==1) { cout<<str[i]<<endl; flag=true; break
; } } if(!flag) { cout<<-1<<endl; } } return 0; }
#include<iostream>
#include<string>
#include<map>
using namespace std;

int main()
{
    string str;
    while(cin>>str)
    {
         map<char,int
>
m; for(int i=0;i<str.size();i++) { m[str[i]]++; } int i=0; for(i;i<str.size();i++) { if(m[str[i]]==1) { cout<<str[i]<<endl; break; } } if(i==str.size()) { cout<<-1<<endl; `````` } } return 0; }