在字符串中寻找相同字符并输出

    xiaoxiao2021-03-25  184

      菜鸟到底是菜鸟,今儿牛客网刷题的时候,刷新三观了,自己敲了辣么多代码实现不了的,人家一丢丢代码,即实现了,还思路清晰,代码大神思路简直了。。。

      只能说,天苍苍野茫茫,前路还很长。

       对给定的一个字符串,找出有重复的字符,并给出其位置,

      如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。

    #include <iostream> #include <string> using namespace std; int main(){ string s; while (cin >> s) { for (int i = 0; i<s.size() - 1; ++i) { bool first = false;//判断是否是重复的第一个字母 if (s[i] == '*') //标记 continue; for (int j = i + 1; j<s.size(); ++j) { if (s[i] == s[j]) { if (!first) { cout << s[i] << ":" << i; first = true; } cout << "," << s[j] << ":" << j; s[j] = '*'; } } if (first) { cout << endl; } } } }

    转载请注明原文地址: https://ju.6miu.com/read-10180.html

    最新回复(0)