题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
题解:
class Solution {
public String longestCommonPrefix(String[] strs) {
int len=strs.length;
if(len == 0) //如果没有参数时直接返回空字符串
return "";
if(len == 1)
return strs[0];
int i,j=0,k;
int minCharLen=strs[0].length();
System.out.println(minCharLen);
String result="";
for(i=1;i<len;i++){
if(strs[i].length()<minCharLen){
minCharLen=strs[i].length(); //找出最小字符串的长度
}
}
while(j<minCharLen){
char temp=strs[0].charAt(j); //从第一个字符串开始比较minCharLen个字符长度
for(k=0;k<len;k++){
if(strs[k].charAt(j)!=temp)
return result;
}
result+=temp;
j++;
}
return result;
}
}