代码实现(C++):
class Solution {
public:
string compressString(string S) {
if(S.length() == 0) return S;
string rst = "";
int cnt = 1;
char ch = S[0];
for(int i = 1;i < S.length();++i){
if(ch == S[i])
++cnt;
else{
rst += ch + to_string(cnt);
ch = S[i];
cnt = 1;
}
}
rst += ch + to_string(cnt);
return rst.length() >= S.length() ? S : rst;
}
};
本文介绍了一种使用C++实现的字符串压缩算法,通过计数重复字符并将其替换为字符和重复次数的组合来减少存储空间。代码示例展示了如何遍历字符串,统计字符重复次数,并构建压缩后的字符串。
1250

被折叠的 条评论
为什么被折叠?



