编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
示例 2:
输入:strs = [“dog”,“racecar”,“car”]
输出:""
解释:输入不存在公共前缀。
提示:
0 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
class Solution {
public String longestCommonPrefix(String[] strs) {
boolean isEqual = true;
StringBuffer myStr = new StringBuffer();
//依次获取第一个字符串的字符
for(int i = 0; i < strs[0].length(); i++) {
//对比 获取的字符 和 其它字符串中相同下标的字符
for(int j = 1; j < strs.length; j++) {
//获取的字符的下标无法索引最短字符串则无更长公共前缀
if(i == strs[j].length()) {
isEqual = false;
break;
}
//对比的字符不相同则无更长公共前缀
if(strs[0].charAt(i) != strs[j].charAt(i)) {
isEqual = false;
break;
}
}
if(!isEqual)
break;
//对比的字符相同则将字符追加为公共前缀
myStr.append(strs[0].charAt(i));
}
return myStr.toString();
}
}