题意:
统计字符串中相邻且相同的字符的个数。
题解:
字符串类型的题,可以用栈或队列先把相邻且相同的字符放到一起,如果该字符与下一字符不同,则输出stack或queue中的元素个数,后清空stack或queue.
也可以遍历字符串,设一个cnt去记录字符出现的次数
代码:
#include<iostream>
#include<queue>
#include<string>
using namespace std;
int main()
{
int n;
cin >> n;
while (n--)
{
string s;
queue<char> q;
cin >> s;
for (int i = 0; i < s.size(); i++)
{
if (s[i] == s[i + 1])
{
q.push(s[i]);
}
else
{
if (q.size() + 1 == 1)
cout << s[i];
else
cout << q.size() + 1 << s[i];
while (q.empty() != 1)
q.pop();
}//else
}
cout << endl;
}//while
return 0;
}