解题思路:把字符串中只出现一次的字符保存到set里。
注意事项:题意要求输出第一次出现字符,所以需要遍历两次字符串。
参考代码:
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
string find(const string &str)
{
unordered_set<char> set;
for (char c : str) {
if (set.count(c))
set.erase(c);
else
set.insert(c);
}
for (size_t i = 0; i < str.length(); i++)
if (set.count(str[i]))
return string(1, str[i]);
return "no";
}
int main()
{
string s;
cin >> s;
cout << find(s);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:601 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1265 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:596 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:644 |
星期判断机 (C语言代码)浏览:859 |
字符串输入输出函数 (C语言代码)浏览:2495 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:542 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:385 |
1250题解浏览:561 |
【偶数求和】 (C语言代码)浏览:441 |