leetcode刷题记录
题目 最长公共前缀
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
示例 2:
输入:strs = [“dog”,“racecar”,“car”]
输出:“”
解释:输入不存在公共前缀。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
简单题 略
代码
public static String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) {
return "";
}
char[] chs = strs[0].toCharArray();
int min = Integer.MAX_VALUE;
for (String str : strs) {
char[] tmp = str.toCharArray();
int index = 0; //保存每个串 和 str[0]的最长公共前缀
while (index < tmp.length && index < chs.length) { //每一个和第一个比较
if (chs[index] != tmp[index]) {
break;
}
index++;
}
min = Math.min(index, min);
if (min == 0) {
return "";
}
}
return strs[0].substring(0, min);
}