Write a function to find the longest common prefix string amongst an array of strings.
找到多个字符串的最大公共前缀,方法是从第一个字符串开始,然后依次比较第一个字符串的每一个字符和其余字符串的每一个字符是否相等。
package stringTest;
public class LongestCommonPrefix {
public static String longsconmmenstring(String[] strs) {
if(strs.length<=0||strs==null) return "";
String first=strs[0];
for(int i=1;i<strs.length;i++){
int j=0;
while(j<strs.length&&j<first.length()&&strs[i].charAt(j)==first.charAt(j)){
j++;
}
if(j==0){
return "";
}
first=first.substring(0, j++);
}
return first;
}
public static void main(String [] args) {
String[] strs={"bc","bcf","bcff"};
System.out.print(longsconmmenstring(strs));
}
}
但是有一个问题,就是这个最大公共前缀只能是从从左向右的,输出结果必然是其中一个字符串的首位开的,比如说
String[] strs={"abc","bcf","bcff"};是不会输出的,原因就是bc不会被识别出来。