一道笔试题!该如何解决

一道笔试题!!!字符串:11122变为1322。3443变为:314231。相信大家都看出来了,就是完成这个功能。感觉用c的指针

一道笔试题!!!
字符串: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();    }}