欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

java求最大相同子串

时间:2023-07-01

// 最大相同字串 public static String maxSameStr(String str1, String str2) { // 判断字符串是否为空 if (str1 != null && str2 != null) { // 获取长串和短串 String maxStr = (str1.length() >= str2.length()) ? str1 : str2; String minStr = (str1.length() < str2.length()) ? str1 : str2; // 获取短串的长度 int length = minStr.length(); // 以短串为第一次循环遍历 for (int i = 0; i < length; i++) { // 双指针从前到后和从后到前遍历,保证获得的是最长字串 for (int j = 0, k = length - i; k <= length; j++, k++) { // 截取字符串 String result = minStr.substring(j, k); // 判断长串是否包含短串 if (maxStr.contains(result)) { return result; } } } } return null; }

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。