
思路:
用双指针的方法,定一个 i 和 j

AC代码:
class Solution {
public:
string compressString(string S) {
//两层循环
if(S.size()==0) return S;
int i=0,j=0;
string ans="";
int len=S.size();
while(i<len) //外层循环
{
while(j<len&&S[j]==S[i])//内层循环
{
j++;
}
//跳出循环
ans+=S[i]+to_string(j-i);
i=j;//i从下标j的地方开始计数
}
return ans.size() >= len ? S : ans;
}
};如有错误,多多指教!
版权声明:本文为qq_61342044原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。