题目
Write a function to find the longest common prefix string amongst an array of strings.
分析
先取字符长度最小的。
然后用它和每一项依次比较。
我写完才知道string的startwith方法很好用
public static String longestCommonPrefix(String[] strs) {
if (strs.length==0) {
return "";
}
int minlength = Integer.MAX_VALUE;
int minindex = 0;
for (int i = 0 ;i<strs.length;i++) {
if (strs[i].length() < minlength) {
minindex = i;
}
}
char[] root = strs[minindex].toCharArray();
int current = root.length;
for (int i =0; i<strs.length;i++) {
char[] str = strs[i].toCharArray();
for (int j = 0; j<current;j++) {
if (j>=str.length) {
current = j;
break;
}
if (str[j]!=root[j]) {
current = j;
break;
}
}
}
return strs[minindex].substring(0,current);
}