题目描述
新学到了 : 在 “string” 头文件中的find()/rfind()函数
a.find(b) 会返回b在a中首次出现的字符的下表,并且find(),是正向查找;
a.rfind(b)是逆向查找,会返回从后往前找字符出现的第一个下表.
注意:下表从一开始就确定了,不会因为查找的顺序不同而改变.
当b不是单个字符而是一个字符串时,当在a中找到b时,只返回b的首字符,在a中的下表.
算法1
(暴力枚举) $O(n^2)$
参考文献
orz dalao !
C++ 代码
#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int main()
{
string a;
getline(cin, a);
int f = 0;
for (int i = 0; i < a.size() ; ++ i)
{
if (a.find(a[i]) == a.rfind(a[i]))
{
f = 1;
cout << a[i] << endl;
break;
}
}
if (!f) cout << "no" << endl;
return 0;
}