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);

      

      }


版权声明:本文为mween原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。