/**14. Longest Common Prefix
* @param strs
* @returnString 数组中,最长的相同的前缀
*/
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0)
return "";
if (strs.length == 1)
return strs[0];
int index = 0;
while (index < strs[0].length()) {
boolean flag = true;
for (int i=1, len = strs.length; i<len; i++) {
if (index >= strs[i].length() || strs[0].charAt(index) != strs[i].charAt(index)) {
flag = false;
break;
}
}
if (!flag) {
break;
}
index += 1;
}
return strs[0].substring(0, index);
}
注意substring的结束位置
改进:可以先求数组中串最小的长度,之后再去比较