编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl" 示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明:
所有输入只包含小写字母 a-z 。
来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/lo…
解题思路 传入的是一个数组
1.首先将第一个字符串取出
2.遍历数组,从第二个开始
3.循环判断当前字符串中是否包含第一个字符串
4.如果不包含,将第一个字符串的长度减一,一直到有包含的相同开始的字符串
5.没有就返回空
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length == 0){
return "";
}
// 1
String str = strs[0];
// 2
for (int j=1; j<strs.length; j++) {
// 3
while(strs[j].indexOf(str) != 0) {
// 4
str = str.substring(0, str.length() -1);
// 5
if(str.isEmpty()) {
return "";
}
}
}
return str;
}
}