class Solution {
public String longestCommonPrefix(String[] strs) {
int length = strs.length;
int minLength = getMinLength(strs);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < minLength; ++i) {
char target = '0';
Map<Character, Integer> map = new HashMap<>();//用哈希表给相应的字符计数,如果计数刚好是strs的长度,那么都有相同前缀
for (String str : strs) {
map.put(str.charAt(i), map.getOrDefault(str.charAt(i), 0) + 1);
target = str.charAt(i);
}
if (map.get(target) == length) {
stringBuilder.append(target);
} else {
break;
}
}
return stringBuilder.toString();
}
public int getMinLength(String[] strs) {
int result = 201;
for (String str : strs) {
result = Math.min(result, str.length());
}
return result;
}
}
07-05
5万+