首页 > 代码库 > 找出两个字符串中最长的相同子字符串

找出两个字符串中最长的相同子字符串

//找出两个字符串中最长的相同子字符串public class Stringdemo {    public static void main(String[] args) {            String str1 = new String("eeabcde");        String str2 = new String("bcdefabcabcdedegg");        byte[] char1 = str1.getBytes();        byte[] char2 = str2.getBytes();        int len1 = char1.length;        int len2 = char2.length;        String maxchar=new String("");        StringBuffer temp = new StringBuffer(" ");        int maxl = 0;        int loops = 0;        for(int i=0;i<len1;i++)            for(int j=0;j<len2;j++){                int pos1 = i;                int pos2 = j;                int l = 0;                //temp = new StringBuffer("");                temp.delete(0, temp.length());                while(char1[pos1]==char2[pos2]) {                    l++;                    temp.append((char)char1[pos1]);                    if (++pos1>len1-1) break;                    if (++pos2>len2-1) break;                                    }                //System.out.println(""+(++loops)+":"+temp);                if (l>maxl) {                     maxl = l;                    maxchar = temp.toString();                                    }            }        System.out.println(""+maxl+" "+maxchar);    }}

 

找出两个字符串中最长的相同子字符串