题目
Write a function to find the longest common prefix string amongst an array of strings.
分析
按部就班。
也可以用高大上的trie树,不过有点大材小用,而且空间、时间都没简单的好。
代码
public class LongestCommonPrefix {
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) {
return "";
}
int N = strs.length;
StringBuilder sb = new StringBuilder();
for (int j = 0; j < strs[0].length(); ++j) {
char c = strs[0].charAt(j);
for (int i = 1; i < N; ++i) {
if (j >= strs[i].length() || strs[i].charAt(j) != c) {
return sb.toString();
}
}
sb.append(c);
}
return sb.toString();
}
}