字符串壓縮。利用字符重復(fù)出現(xiàn)的次數(shù)诱渤,編寫一種方法,實(shí)現(xiàn)基本的字符串壓縮功能谈况。比如勺美,字符串a(chǎn)abcccccaaa會(huì)變?yōu)閍2b1c5a3。若“壓縮”后的字符串沒有變短碑韵,則返回原先的字符串赡茸。你可以假設(shè)字符串中只包含大小寫英文字母(a至z)。
示例1:
輸入:"aabcccccaaa"
輸出:"a2b1c5a3"
示例2:
輸入:"abbccd"
輸出:"abbccd"
解釋:"abbccd"壓縮后為"a1b2c2d1"祝闻,比原字符串長度更長占卧。
class Solution {
public String compressString(String S) {
int i=0;
StringBuilder sb=new StringBuilder();
while(i<S.length()){
int j=i;
while(j<S.length() && S.charAt(j)==S.charAt(i)){
j++;
}
sb.append(S.charAt(i));
sb.append(j-i);
i=j;
}
String a=sb.toString();
if(a.length()<S.length()){
return a;
}else{
return S;
}
}
}