题目表述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs.length < 1) {
return "";
}
if (strs.length == 1) {
return strs[0];
}
int sum = strs[0].length();
String si;
for (int i = 1; i < strs.length; i++) {
si = strs[i];
int len = si.length() < strs[0].length() ? si.length() : strs[0].length();
if (len == 0) {
return "";
}
int j = 0;
for (; j < len; ) {
if (si.charAt(j) == strs[0].charAt(j)) {
j++;
continue;
}
break;
}
sum = j < sum ? j : sum;
}
return strs[0].substring(0, sum);
}
边界检验有的时候真的是让人防不胜防。