字符串:11122变为1322。3443变为:314231。相信大家都看出来了,就是完成这个功能。感觉用c的指针好完成,用java比较麻烦,有能用java作出来的么。本人对这个题的流程控制上不好,没能写出可运行的代码。请教了!!   

解决方案 »

  1.   


    public class Test{
            public static void main(String args[]){
    String string="3443";
                    System.out.println(sum("11122"));
    System.out.println(sum(string));
    }
    public static String sum(String str){
    StringBuffer string=new StringBuffer();

    while(str.length()>0){
    int length=str.length();
    String s=str.substring(0,1);
    str=str.replaceAll("^"+s+"+", "");
    string.append(s);
    string.append(length-str.length());
    }

    return string.toString();
    }
    }
      

  2.   

    从string转到char[],再各个读取跟前面比较,相同则count+1,不同则把这个char和count写到StringBuffer中。