用JAVA输入一个字符串查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ““
时间: 2023-05-30 08:02:12 浏览: 148
```
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].indexOf(prefix) != 0) {
prefix = prefix.substring(0, prefix.length() - 1);
if (prefix.isEmpty()) {
return "";
}
}
}
return prefix;
}
```
这段代码使用了水平扫描算法来查找最长公共前缀。首先将第一个字符串作为前缀,然后对于后面的每个字符串,不断地将前缀缩短直到找到一个前缀是当前字符串的前缀为止。如果最终前缀为空,则返回空字符串。如果所有字符串都有相同的前缀,那么最终的前缀就是最长公共前缀。
相关问题
用JAVA编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ““
public 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].indexOf(prefix) != 0) {
prefix = prefix.substring(0, prefix.length() - 1);
if (prefix.isEmpty()) {
return "";
}
}
}
return prefix;
}
JAVA编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ““
public 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].indexOf(prefix) != 0) {
prefix = prefix.substring(0, prefix.length() - 1);
if (prefix.isEmpty()) {
return "";
}
}
}
return prefix;
}
阅读全文