解题思路:把字符串中只出现一次的字符保存到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 人评分
简单的a+b (C语言代码)浏览:546 |
一元一次方程 (C语言代码)浏览:4069 |
简单的a+b (C语言代码)浏览:512 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:543 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:676 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:452 |
Manchester- A+B for Input-Output Practice (V)浏览:1188 |
IP判断 (C语言代码)浏览:495 |
【金明的预算方案】 (C语言代码)浏览:1524 |