字符串的最长公共前缀算法是指在一组字符串中,找出它们的最长公共前缀。它是一种贪心算法,从左到右依次比较所有字符串的相同位置的字符,直到遇到不同的字符为止。
例题:假设有一组字符串strs,请问它们的最长公共前缀是多少?
分析:我们可以使用贪心算法来解决这个问题。首先将第一个字符串设为公共前缀prefix,然后遍历所有字符串,对于每个字符串str,从左到右依次比较prefix和str的相同位置的字符,直到遇到不同的字符为止,然后将prefix截取到该位置,再和下一个字符串做比较。重复上述过程,直到遍历完所有字符串为止。
Java代码实现:
public static String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) {
return "";
}
String prefix = strs[0];
for (int i = 1; i < strs.length; i++) {
while (!strs[i].startsWith(prefix)) {
prefix = prefix.substring(0, prefix.length() - 1);
if (prefix.isEmpty()) {
return "";
}
}
}
return
}