日期:2014-05-20  浏览次数:20677 次

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

------解决方案--------------------
Java code

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