题解 | #查找两个字符串a,b中的最长公共子串#

查找两个字符串a,b中的最长公共子串

http://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506

for循环嵌套

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            String str1 = sc.nextLine();
            String str2 = sc.nextLine();
            String sstr = ( str1.length() < str2.length() ) ? str1 : str2;
            String lstr = ( str1.length() > str2.length() ) ? str1 : str2;
            //int max = 0;
            String maxstr = "";
            int count = 0;
            for(int i = 0 ; i < sstr.length(); i++){
                for(int j = i+1 ; j <= sstr.length();j++){
                    if(lstr.contains(sstr.substring(i,j))){
                        //max = (j-i) > max ? (j-i) : max;//子串最大长度
                        maxstr = sstr.substring(i,j).length() > maxstr.length() ? sstr.substring(i,j) : maxstr;
                        //最大长度子串的内容
                    }
                }
            }
            System.out.println(maxstr);
        }
    }
}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务