大家帮我看一下这个题目。我想了好久也没想出,要求用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]); }