算法
(暴力枚举) $O(nm)$
我们以数组中第一个字符串作为比较基准,对于它当中的每个字符,都把它和数组中其他字符串对应位置上的字符进行比较,如果他们都相等,则表示可以加入相应位置的字符,如果有一个出现了不等就可以直接返回我们当前已有的前缀了。
Java 代码
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs.length == 0) return "";
for (int i = 0; i < strs[0].length(); ++i) {
char c = strs[0].charAt(i);
for (String str : strs) {
if (i >= str.length()) return str;
if (c != str.charAt(i)) return strs[0].substring(0, i);
}
}
return strs[0];
}
}