力扣面试题01.06 字符串压缩
class Solution {
public:
string compressString(string S) {
int len = S.size();
int temp = len;
char c;
for (int i = 0; i < len; i++)
{
temp += c == S[i] ? -1 : 1;
c = S[i];
}
if (temp >= len)
{
return S;
}
c = S[0];
string res;
int count = 1;
for (int i = 1; i < len; i++)
{
if (c != S[i])
{
res.push_back(c);
res.append(to_string(count));
c = S[i];
count = 1;
}
else
{
count++;
}
if (i == len - 1)
{
res.push_back(c);
res.append(to_string(count));
}
}
return res;
}
};