编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 示例 2: 输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。
思路:


class Solution {
public String longestCommonPrefix(String[] strs) {
//利用纵向比较,先假设第一个字符串是最长公共前缀
//如果第一个不存在,返回空
if(strs==null||strs.length==0||strs[0]==""){
return "";
}
if(strs.length==1){
return strs[0];
}
//第一个存在,
//从每一个字符开始
for(int i=0;i<strs[0].length();i++){
char first=strs[0].charAt(i);//记录第一个字符,看符不符合
//j表示数组里面第几个字符串
for(int j=1;j<strs.length;j++){
//看下每个字符串的第i位是否一样
if(strs[j].length()==i||strs[j].charAt(i)!=first){//有一个串已经到达末尾了 或者有字符不相等
return strs[0].substring(0,i); //截取当前
}
}
}
return strs[0].substring(0,strs[0].length());
}
}