LeetCode14
题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
通过次数358,955提交次数926,252
代码
class Solution {
public String longestCommonPrefix(String[] strs) {
StringBuffer ans = new StringBuffer();
int strings = strs.length;//总共有多少个字符串
if(strings == 0){
//传空串那你也应该返回空空的鸭
return ans.toString();
//StringBuffer的话是需要用toString()方法才能返回String类型的
}
int min = strs[0].length();//字符串所含的最小的字符数
for(int i = 0; i < strings; i++){
if(min > strs[i].length()){
//求字符串所含的最小的字符数
min = strs[i].length();
}
}
for(int i = 0; i < min; i++){
//每次循环获取第一个字符串的第i个字符
char a = strs[0].charAt(i);
//每次循环遍历每一个字符串
for(int j = 1; j < strings; j++){
if(strs[j].charAt(i) != a){
//如果有不同的则直接返回
return ans.toString();
}
}
ans.append(a);
}
return ans.toString();
}
}