题目链接:
学到的方法:
做上面这个题的时候需要先读一个字符作为状态,接着读入一个字符串。一开始用getchar()一直读不到,后来使用如下方法:
还可以使用getline()来读入那个字符。
代码:
#include <iostream>
#include <string>
using namespace std;
string compress(const string &s) {
string res;
for (int i = 0; i < s.size();) {
int j = i;
while (s[j] == s[i])
++j;
if (j - i > 1)
res.append(to_string(j - i));
res.append(1, s[i]);