java 最长公共字符串前缀 - 最长公共前缀
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 最长公共字符串前缀 - 最长公共前缀相关的知识,希望对你有一定的参考价值。
//暴力法,以第一个字符串为检测中心来实验,遍历其他字符串看看是否当前第一个字符串所处的位置i是否不超过该字符串长度并且前缀相同。
public static String LongestCommonPrefix(String[] dictor){
if(dictor==null || dictor.length==0) return "";
int size = dictor.length;
StringBuilder res = new StringBuilder();
for(int i = 0 ; i < dictor.length ; i++){
//针对第一个字符串来衡量
int j = 1;
for(; j < size; j++){
if(i>= dictor.length || dictor[j].charAt(i)!=dictor[0].charAt(i)) break;
}
if(j==size) res.append(dictor[0].charAt(i));
else break;
}
return res.toString();
}
//先检测第一个和第二个字符串和第二个字符串公共前缀,然后用前缀和第三个字符串检测。
public static String LongestCommonPrefix2(String[] dictor) {
if(dictor==null || dictor.length==0) return "";
String prev = dictor[0];
for(int i = 1; i < dictor.length; i++) {
String cur = dictor[i];
prev = commonPrefixOfBothString(prev,cur);
}
return prev;
}
public static String commonPrefixOfBothString(String prev,String cur) {
StringBuilder res = new StringBuilder();
for(int i = 0 ; i < prev.length(); i++) {
if(i < cur.length() && cur.charAt(i)==prev.charAt(i)) res.append(prev.charAt(i));
else break;
}
return res.toString();
}
以上是关于java 最长公共字符串前缀 - 最长公共前缀的主要内容,如果未能解决你的问题,请参考以下文章
14. 最长公共前缀 Java
牛客Top200---最长公共前缀(java)
Java中字符串数组中的最长公共前缀
14.最长公共前缀
我用java刷 leetcode 14. 最长公共前缀
2021-09-15:最长公共前缀。编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串 ““。力扣14。