领扣LintCode算法问题答案-79. 最长公共子串
目录
79. 最长公共子串描述样例 1:样例 2:
题解鸣谢
79. 最长公共子串
描述
给出两个字符串,找到最长公共子串,并返回其长度。
子串的字符应该连续的出现在原字符串中,这与子序列有所不同。
样例 1:
输入: "ABCD" and "CBCE"
输出: 2
解释:
最长公共子串是 "BC"
样例 2:
输入: "ABCD" and "EACB"
输出: 1
解释:
最长公共子串是 'A' 或 'C' 或 'B'
题解
public class Solution {
public int longestCommonSubstring(String A
, String B
) {
int ret
= 0;
StringBuilder sb
= new StringBuilder();
for (int i
= 0; i
< A
.length(); i
++) {
sb
.setLength(0);
sb
.append(A
.substring(i
));
while (!B
.contains(sb
)) {
sb
.setLength(sb
.length() - 1);
}
if (sb
.length() > ret
) {
ret
= sb
.length();
}
}
return ret
;
}
}
原题链接点这里
鸣谢
非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。 欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。