1. 題目來源
連結:找出字元串中第一個隻出現一次的字元
來源:牛客網
2. 題目說明
找出字元串中第一個隻出現一次的字元
輸入描述:
輸入一個非空字元串
輸出描述:
輸出第一個隻出現一次的字元,如果不存在輸出-1
示例:
輸入:
asdfasdfo
輸出
o
3. 題目解析
采用哈希的思想,用一個數組的每一個位置表示對應的位置。對應的字元位置存放字元出現的次數。統計完之後,周遊輸入字元,遇到第一個隻出現一次的字元就停止。
4. 代碼展示
#include <bits/stdc++.h>
using namespace std;
int main() {
string str;
while (cin >> str) {
int num[256] = {0};
for (int i = 0; i < str.size(); ++i) {
num[str[i]]++;
}
int j;
for (j = 0; j < str.size(); ++j) {
if (num[str[j]] == 1) {
cout << str[j] << endl;
break;
}
}
if (j >= str.size())
cout << -1 << endl;
}
return 0;
}