字符串数组中的最长公共前缀
时间: 2023-09-05 11:11:51 浏览: 134
字符串数组中的最长公共前缀可以通过遍历数组中的字符串进行比较来找到。我们可以设定一个起始的字符串,将其与后续的字符串进行比较,看是否存在公共前缀。如果存在公共前缀,则将起始字符串替换为该公共前缀,再与后续的字符串进行比较,直到遍历结束,最后得到的字符串就是最长的公共前缀。\[1\]
以下是一个使用Java语言实现的示例代码:
```java
public String longestCommonPrefix(String\[\] strs) {
if (strs.length == 0 || strs == null) {
return "";
}
String ret = strs\[0\];
for (int i = 1; i < strs.length; i++) {
if (ret.length() == 0) {
return "";
}
ret = stringReturn(ret, strs\[i\]);
}
return ret;
}
public String stringReturn(String s1, String s2) {
int length = Math.min(s1.length(), s2.length());
int i = 0;
while (i < length && s1.charAt(i) == s2.charAt(i)) {
i++;
}
return s1.substring(0, i);
}
```
在上述代码中,我们首先判断字符串数组的合法性,然后设定起始字符串为数组的第一个元素。接着通过循环遍历数组中的字符串,将起始字符串与当前字符串进行比较,得到公共前缀。最后返回最长的公共前缀。\[2\]\[3\]
请注意,如果字符串数组为空或长度为0,则返回空字符串。如果没有找到公共前缀,则返回空字符串。
#### 引用[.reference_title]
- *1* *2* *3* [《LeetCode系列》---最长公共前缀](https://blog.csdn.net/weixin_50584850/article/details/124648635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文