链接: 14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
仅由小写英文字母组成class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs.length < 1) {
return "";
}
// 查找长度最小下标
int minLength = Arrays.stream(strs).mapToInt(String::length).min().orElse(0);
int minIndex = 0;
for (int i = 0; i < strs.length; i++) {
if (strs[i].length() == minLength) {
minIndex = i;
break;
}
}
// 遍历
String minStr = strs[minIndex];
while (true) {
int i = 0;
for (; i < strs.length; i++) {
if (!strs[i].startsWith(minStr)) {
break;
}
}
if (i == strs.length) {
break;
}
minLength--;
minStr = minStr.substring(0, minLength);
}
return minStr;
}
}
整理完毕,完结撒花~