1. 程式人生 > >leetcode之壓縮字串中的重複字元

leetcode之壓縮字串中的重複字元

題目

通過鍵盤輸入一串小寫字母(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);

}