class Solution {
public String compressString(String S) {
char[] s=S.toCharArray();
int n=S.length();
int k=1;
StringBuilder str = new StringBuilder(n);
for(int i=0;i<n;++i)
{
k=1;
while(i<n-1&&s[i+1]==s[i])
{
++k;
++i;
}
str.append(s[i]);
str.append(k);
}
return str.length()>=S.length()?S:str.toString();
}
}
C++
```javascript
class Solution {
public:
string compressString(string S) {
if ((int)S.length() == 0) return S; // 空串处理
string ans = "";
int cnt = 1;
char ch = S[0];
for (int i = 1; i < (int)S.length(); ++i){
if (ch == S[i]) cnt++;
else{
ans += ch + to_string(cnt); // 注意 cnt 要转为字符串
ch = S[i];
cnt = 1;
}
}
ans += ch + to_string(cnt);
return ans.length() >= S.length() ? S : ans;
}
};
Java字符串压缩
最新推荐文章于 2023-09-20 16:40:06 发布