题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
思路描述:
对于这道题,我们可以从前往后遍历,每次遍历都是用当前字符串和该字符串之前的所有字符串的最长公共前缀进行比较,然后更新当前的最长公共前缀,再找下一个位置,直到遍历完。
代码:
java
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length==1){
return strs[0];
}
int len=strs.length;
String result=strs[0];
for(int i=1;i<len;i++){
if(result==""){
return "";
}
String newResult="";
int count=0;
while(count<result.length() && count<strs[i].length() && result.charAt(count)==strs[i].charAt(count)){
count++;
}
result=result.substring(0,count);
}
return result;
}
}