编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length == 0 ){
return "";
}
int length = -1;
String str = strs[0];
char[] chars = str.toCharArray();
for(int i = 0;++i < strs.length;){
char[] chars1 = strs[i].toCharArray();
int subscript = 0;
for (int j = 0; j < chars1.length; j++) {
if(j < chars.length && chars[j] == chars1[j]){
++subscript;
}else {
break;
}
}
length = length >= 0 ? Math.min(length,subscript): Math.max(length,subscript);
}
return length < 0 ? str :str.substring(0,length);
}
}
虽然解决方案不是最优的,但绝对是自己没有看任何参考答案,花费了半个多小时写出来的解决方案。
加油~!!!
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix