[編程題]基本字符串壓縮
利用字符重複出現的次數,編寫一個方法,實現基本的字符串壓縮功能。比如,字符串“aabcccccaaa”經壓縮會變成“a2b1c5a3”。若壓縮後的字符串沒有變短,則返回原先的字符串。
給定一個string iniString爲待壓縮的串(長度小於等於3000),保證串內字符均由大小寫英文字母組成,返回一個string,爲所求的壓縮後或未變化的串。
測試樣例
“aabcccccaaa”
返回:”a2b1c5a3”
“welcometonowcoderrrrr”
返回:”welcometonowcoderrrrr”
Code
import java.util.*;
public class Zipper {
public String zipString(String iniString) {
int length=iniString.length();
int i=0;
String result="";
while(i<length){
char a=iniString.charAt(i++);
int count=1;
while(i<length&&iniString.charAt(i)==a){
i++;
count++;
}
result=result+a+count;
}
if(result.length()<length) return result;
return iniString;
}
}