34.最长公共子串
题目描述
给定两个字符串str1和str2,输出两个字符串的最长公共子串
题目保证str1和str2的最长公共子串存在且唯一。
输入
"1AB2345CD","12345EF"
返回值
"2345"
分析
1.调用字符串里面的方法,截取子串,
2.如果str1包含str2里面的子串,那么就继续向前截取直到截取的子串不在str1里面
3.返回所截取的子串就为最长公共子串
代码实现
import java.util.*;
public class Solution {
/**
* longest common substring
* @param str1 string字符串 the string
* @param str2 string字符串 the string
* @return string字符串
*/
public String LCS(String str1, String str2) {
String max ="";
int start = 0;
int end = 1;
while(end<=str2.length()) {
String sub = str2.substring(start, end);
if(str1.contains(sub)) {
max = sub;
}else {
start++;
}
end++;
}
return max;
}
}