编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
。
class Solution {
public String longestCommonPrefix(String[] strs) {
int len=strs.length;
String maxstr="";
char str;
int i,j=0;
int end=0;
if(strs.length==0) //String数组为空
return "";
if(strs.length==1) //string数组只有一个值
return strs[0];
int minsize=strs[0].length();
for(int k=1;k<len;k++){
if(strs[k].length()<minsize)
minsize=strs[k].length();
} //得到String数组中所有字符串中最小的长度
while(j<minsize){
str=strs[0].charAt(j);
for(i=1;i<len;i++){
if(strs[i].charAt(j)!=str){
end=j;
maxstr=strs[0].substring(0, end);
return maxstr;
}
}
j++;
}
end=j;
maxstr=strs[0].substring(0, end);
return maxstr;
}
}