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

最大字符串问题
大家帮我看一下这个题目。我想了好久也没想出,要求用java的代码,小弟是初学者,谢谢了
求一个字符串中最长的相同子串。例如。bbeeessssff,就是ssss,qwerrfghh,就是rr和hh.

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

        String s = "qwerrfghh";
        StringBuffer news = new StringBuffer();
        char c = s.charAt(0);
        char d;
        int len = 0;
        news.append(c);
        for(int i=1; i<s.length(); i++) {
            d = s.charAt(i);
            if(c == d)
                news.append(d);
            else {
                c = d;
                news.append(",").append(d);
            }
        }
        System.out.println("用逗号分割后的字符串:"+news.toString());
        String sb[] = news.toString().split(",");
        for(int i=0; i<sb.length; i++) {
            if(sb[i].length() > len)
                len = sb[i].length();
        }
        System.out.println("最长字符串长度:"+len);
        System.out.println("最长字符串有:");
        for(int i=0; i<sb.length; i++) {
            if(sb[i].length() == len)
                System.out.println(sb[i]);
        }