题目:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串
""
。示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母
a-z
。
public String longestCommonPrefix(String[] strs) {
// 判断字符串数组是否存在 "",如果存在,一定不存在前缀
for (int i = 0; i < strs.length; i++) {
if ("".equals(strs[i])) {
return "";
}
}
int num = 0;
String result = "";
if (strs != null && strs.length > 0) {
for (int i = 0; i <= strs.length; i++) {
if (strs[0].length() == i) {
return result;
}
char s = strs[0].charAt(i);
for (int j = 1; j < strs.length; j++) {
if (i == strs[j].length()) {
return result;
}
char c = strs[j].charAt(i);
if (c == s) {
num += 1;
}
}
if (num == strs.length - 1) {
result += s;
num = 0;
} else {
break;
}
}
}
return result;
}