找第一个只出现一次的字符-题解

描述

肥肥鲨捡到了一个藏宝盒,密码就是旁边纸条上第一个只出现了一次的字符。请帮它看看,能不能找到密码。
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

输入描述

一个字符串,长度小于100000。

输出描述

输出第一个仅出现一次的字符,若没有则输出no。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <bits/stdc++.h>
using namespace std;
int cnt[26];
int main(){
string s;
cin >> s;
for(int i = 0;i<s.size();i++){
cnt[s[i]-'a']++;
}
char ans = 0;
bool no = true;
for(int i = 0;i<s.size();i++){
if (cnt[s[i]-'a'] == 1&&ans == 0){
ans = s[i];
no = 0;
}
}
if(no){
cout << "no";
}
cout << ans;
return 0;
}

找第一个只出现一次的字符-题解
https://chenxi-tijie.pages.dev/2025/07/找第一个只出现一次的字符-题解/
作者
chenxi
发布于
2025年7月5日
许可协议