编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”] 输出: “fl”
首先,当然可以使用暴力算法,进行暴力计算。就是全部字符串从第一位开始进行比较,直到不是公共前缀停止。我本次想先两个比较出公共的,在往后比较。
class Solution {
public String longestCommonPrefix(String[] strs) {
//如果数组为空
if(strs == null || strs.length == 0 )
return "";
if(strs.length == 1)
return strs[0];
String nowStr = commmon(strs[0],strs[1]);
for(int i=2;i<strs.length;i++){
nowStr = commmon(nowStr,strs[i]);
if(nowStr.length() == 0 )
return nowStr;
}
return nowStr;
}
//两个中最长
public String commmon(String s1,String s2){
int length = Math.min(s1.length(),s2.length());
String s = "";
for(int i = 0;i<length;i++){
if(s1.charAt(i) != s2.charAt(i))
return s;
else
s +=s1.charAt(i);
}
return s;
}
}
这运行结果不理想呀,还是多看看别人的思路解法,提升下脑子!!!