题目:

代码一:(1ms)
public String longestCommonPrefix(String[] strs){
if (strs.length == 0) return "";
String prefix = strs[0];
for (int i = 1; i < strs.length; i++) {
while(strs[i].indexOf(prefix)!=0){
prefix = prefix.substring(0, prefix.length()-1);
if (prefix.isEmpty()) return "";
}
}
return prefix;
}
代码二:(2ms)
public String longestCommonPrefix(String[] strs) {
if (strs.length==0) {
return "";
}else if (strs.length==1){
return strs[0];
}
StringBuilder sb = new StringBuilder();
int count = 0;
int min = strs[0].length();
for (int i = 1; i < strs.length; i++) {
min = Math.min(min, strs[i].length());
}
for (int i = 0; i < min; i++) {
for (int j = 0; j < strs.length-1; j++) {
if (strs[j].equals("")) return "";
char c1 = strs[j].charAt(count);
char c2 = strs[j+1].charAt(count);
if (c1 != c2) {
return sb.toString();
}else if (j + 1 == strs.length - 1) {
sb.append(c1);
count++;
}
}
}
return sb.toString();
}