编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length==1)
return strs[0];
if(strs.length==0)
return "";
int res=200;
for(int i=1;i<strs.length;i++){
char[]a=strs[i-1].toCharArray();
char[]b=strs[i].toCharArray();
//res的值在每一轮中都在更新 需要的结果是公共的前缀因此取最小的res
int min=Prefix(a,b);
if(min<res)
res=min;
if(res==0)
return "";
}
return strs[0].substring(0,res);
}
public int Prefix(char[] a,char[] b){
int min=a.length<b.length?a.length:b.length;
int i=0;
int j=0;
while(i<min&&j<min){
if(a[i]==b[j]){
i++;
j++;
}
else
break;
}
return i;
}
}