只要求能把字符串 如aaaadddecc 压缩成 4a3d1e2c 就可以了!

解决方案 »

  1.   


    /**
     * 要求能把字符串 如aaaadddecc 压缩成 4a3d1e2c
     */
    public class Test { static char c; static int n = 0; static StringBuffer result = new StringBuffer(); public static void main(String[] args) {
    StringBuffer s = new StringBuffer("aaaadddecc");
    m(s);
    System.out.println(result);
    } public static void m(StringBuffer s) {
    if (s.length() != 0) {
    if(n == 0) {
    c = s.charAt(0);
    }
    if (s.charAt(0) == c) {
    n++;
    } else {

    if (n != 0)
    result.append(n).append(c);
    c = s.charAt(0);
    n = 1;
    }
    s = s.deleteCharAt(0);
    m(s);
    } else if(n!= 0) {
    result.append(n).append(c);
    }
    }
    }
    你改一改。
      

  2.   

    public class ZoomOut {

    public String getZoomOutString(String s) {
    char[] chars=s.toCharArray();
    String result="";
    int count=0;
    char tem=' ';
    for(int i=0; i<chars.length; i++) {
    if(tem!=chars[i]) {
    if(count>0)
    result+=count+""+tem;
    tem=chars[i];
    count=0;
    }
    count++;
    }
    result+=count+""+tem;
    return result;
    }
    public static void main(String[] args) {
    System.out.println(new ZoomOut().getZoomOutString("aaaabbd"));
    }
    }
    我也写了一个~~~