207研究所上机题:有这么一个字符串,从a-z,A-Z,连续的重复字母压缩。
1)ababababab,依然压缩为:ababababab;
2)aaabcd,压缩为:3abcd。
#include<iostream>
#include<string>
#include<sstream>
using std::string;
using namespace std;
int main()
{
string first_str;
string re_str;
cin >> first_str;
int i = 0;
while (i < first_str.length())
{
int k = 1;
while (first_str[i + k] == first_str[i])
{
k++;
}
if (k == 1)
{
re_str.push_back(first_str[i]);
}
else
{
string str;
stringstream ss;
ss << k;
//ss >> str;
re_str.append(ss.str());
re_str.push_back(first_str[i]);
}
i = i + k;
}
cout << re_str << endl;
system("pause");
}