Java基础面试题——(5)

来源:互联网 发布:js 窗体大小改变事件 编辑:程序博客网 时间:2024/05/16 21:19

题目:获取两个字符串中最大相同子串。比如: str1 = "abcwerthelloyuiodef“;str2 = "cvhellobnm"。


代码实现:

public class JavaInterview_5 {public static String getMaxSameString(String src, String sub){if(src == null || src.length() == 0){return null;}if(sub == null || sub.length() == 0){return null;}for(int step = sub.length(); step >= 1; step--){for(int start = 0; (start + step) <= sub.length(); start++){if(src.contains(sub.substring(start, start + step))){return sub.substring(start, start + step);}}}return null;}public static void main(String[] args) {String src = "abcwerthelloyuiodef";String sub = "cvhellobnm";System.out.println(JavaInterview_5.getMaxSameString(src, sub));}}

运行结果:


PS:将短的那个串进行长度依次递减的子串与较长的串比较。

0 0