总时间限制: 1000ms 内存限制: 65536kB描述
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入一个字符串,长度小于100000。输出输出第一个仅出现一次的字符,若没有则输出no。样例输入
abcabd
样例输出
c
#include<iostream> #include<cstring> using namespace std; char arrString[100000]; int main() { cin>> arrString; char resultChar=0; int i = 0; char* f,*l,*p; while (arrString[i]) { //遍历字符数组 p = &arrString[i]; f=strchr(arrString, *p); //寻找字符首次出现的位置,返回该位置所在的指针 l=strrchr(arrString, *p); //寻找字符最后一次出现的位置,返回该位置所在的指针 i++; if (l - arrString == f - arrString) { //比较两次所在位置 resultChar = *p; break; } } if (!resultChar) cout << "no"; else cout << resultChar; }