编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
题解
public String longestCommonPrefix(String[] strs) {
if(strs.length == 0){
return "";
}
int minLen = strs[0].length();
String s1 = strs[0];
for(int i=0; i<strs.length; i++){
if(strs[i].length() < minLen){
minLen = strs[i].length();
s1 = strs[i];
}
}
StringBuffer s = new StringBuffer("");
// 第一层循环最短字符串循环,第二层控制数组字符循环
for (int i =0; i<minLen; i++) {
for (int j=0; j < strs.length-1; j++){
if(strs[j].charAt(i) != strs[j+1].charAt(i)){
return s.toString();
}
}
s.append(s1.charAt(i));
}
return s.toString();
}