leetcode之壓縮字串中的重複字元
阿新 • • 發佈:2019-01-04
題目
通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫一個字串壓縮程式,將字串中連續出現的重複字母進行壓縮,並輸出壓縮後的字串。
壓縮規則:
1、僅壓縮連續重複出現的字元。比如字串”abcbc”由於無連續重複字元,壓縮後的字串還是”abcbc”。
2、壓縮欄位的格式為”字元重複的次數+字元”。例如:字串”xxxyyyyyyz”壓縮後就成為”3x6yz”。
思路:
遍歷字串得到重複字元得個數與重複字元。
實現:
public void stringZip(String str) {
StringBufferstringBuffer = new StringBuffer();
charlast = str.charAt(0);
intcount=1;
for(inti=1;i<str.length();i++){
if(str.charAt(i)==last){
count++;
}
else{
if(count>1){
stringBuffer.append(count);
}
stringBuffer.append(last);
last=str.charAt(i);
count=1;
}
}
//新增最後得字元
if(count>1){
stringBuffer.append(count);
}
stringBuffer.append(last);
Stringstring = stringBuffer.toString();
System.out.println(string);
}