题目:
Write a function to find the longest common prefix string amongst an array of strings.
翻译:
写一个函数去找到在字符串数组里面的最长的前缀字符串。
分析:
首先考虑字符串数组的length为0和为1的情况,为1的情况如果不预先处理,后面判断起来会比较麻烦。然后需要找出这些字符串的最短的长度,超过这个长度是否匹配已经没有意义。
Java版代码:
public class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length==0){
return "";
}
if(strs.length==1){
return strs[0];
}
StringBuilder prefix=new StringBuilder();
Integer length=strs[0].length();
for(String str:strs){
if(str.length()<length){
length=str.length();
}
}
for(int i=0;i<length;i++){
char ch=strs[0].charAt(i);
for(int j=1;j<strs.length;j++){
if(strs[j].charAt(i)!=ch){
return prefix.toString();
}
}
prefix.append(ch);
}
return prefix.toString();
}
}