简单的模拟题。
class Solution {
public:
string compressString(string S) {
int n=S.size();
string ans;
int cnt=1;
for(int i=0;i<n;i++)
{
int k=i;
while(S[k]==S[k+1])
{
cnt++;
k++;
}
ans.push_back(S[i]);
if(cnt<10)
{
ans.push_back(cnt+'0');
}
else
{
stack<char> sta;
while(cnt)
{
sta.push((cnt%10)+'0');
cnt/=10;
}
while(sta.empty()==0)
{
ans.push_back(sta.top());
sta.pop();
}
}
i=k;
cnt=1;
}
if(ans.size()>=n)
{
return S;
}
else
{
return ans;
}
}
};