一.题目
二.思路
首先用 for 循环取该字符串数组每一个字符串第 index 位,添加到 HashSet 中,如果相同,进行下一步, index++,并清除 HashSet; 不同则判断当前 index 值是否为0,为0则直接 return "",否则 return strs[0].substring(0, index)。
代码:
public String longestCommonPrefix(String[] strs) {
String indexString = "";
HashSet<Object> hashSet = new HashSet<>();
int i = 0;
int index = 0;
try {
while (true) {
for (i = 0; i < strs.length; i++) {
hashSet.add(strs[i].charAt(index));
}
if (hashSet.size() != 1) {
// 判断输入是否存在公共前缀。
if (index == 0) {
return indexString;
} else {
return strs[0].substring(0, index);
}
} else {
hashSet.clear();
index++;
}
}
} catch (Exception e) {
}
return strs[0].substring(0, index);
}