import java.util.*;
public class Solution {
public static final String EMPTY = "";
public String longestCommonPrefix(String[] strs) {
// write code here
if (strs == null || strs.length == 0) {
return EMPTY;
}
String tmp = strs[0];
int length = (tmp == null ? "" : tmp).length();
for (String str : strs) {
//若某个字符串元素为空,则直接返回
if (str == null || str.equals(EMPTY)) {
return EMPTY;
}
//每个字符串元素都和第一个比较,找出他们的最长前缀下标
length = compare(tmp, str, length);
if (length == 0) {
return EMPTY;
}
}
return tmp.substring(0, length);
}
/**
* @param a 固定为strs首个元素
* @param b
* @param length 最长公共前缀长度
* @return
*/
private int compare(String a, String b, int length) {
int i = 0;
while (i < length && i < b.length()) {
if (a.charAt(i) != b.charAt(i)) {
break;
}
i++;
}
return i;
}
}