方法二:纵向扫描
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) { //数组为空或长度为0时
return "";
}
int length = strs[0].length(); //第一个元素的长度
int count = strs.length; //数组中元素的个数
for (int i = 0; i < length; i++) { //遍历第一个元素的所有字母
char c = strs[0].charAt(i); //第一个元素中第i个字母
for (int j = 1; j < count; j++) { //遍历数组,从第二个元素开始
if (i == strs[j].length() || strs[j].charAt(i) != c) { //第一个元素的长度超过另外元素的长度时或第j个元素的第i个字母与第一个元素的第i个字母不同时
return strs[0].substring(0, i); //if中条件为真时,返回该值,否者return strs[0]
}
}
}
return strs[0]; //上面if不成立时返回该值
}
}