最大字串
字符串的最大子串么
代码比较简单。。直接上吧。大学时期的程序
import java.util.LinkedList;import java.util.List;public class MaxString {public static void main(String[] args) {List<Character> str1 = new LinkedList<Character>();List<Character> str2 = new LinkedList<Character>();str1.add(new Character('a'));str1.add(new Character('b'));str1.add(new Character('a'));str1.add(new Character('c'));str1.add(new Character('h'));str2.add(new Character('i'));str2.add(new Character('a'));str2.add(new Character('b'));str2.add(new Character('a'));str2.add(new Character('c'));str2.add(new Character('h'));str2.add(new Character('q'));String sub = maxSub(str1,str2);System.out.println(sub);}private static String maxSub(List<Character> str1, List<Character> str2) {if(str1.size()<=0||str2.size()<=0){return null;}int k=0;while(str1.get(k).equals(str2.get(k))){k++;if (k>=str1.size()||k>=str2.size()){break;}}if (k == 0) {//the first one is not equal....str2.remove(k);//just go to the next iterationreturn maxSub(str1,str2);} else {StringBuilder sb = new StringBuilder();for(int i=0;i<k;i++) {sb.append(str1.get(i));}for(int i=0;i<k;i++) {str1.remove(0);str2.remove(0);}String subString = maxSub(str1, str2);if (subString != null&&(subString.length()>sb.length())) {return subString;} else {return sb.toString();}}}}?