14. 最长公共前缀
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
方法 暴力算法
先判断字符串数组是否有为空,为空直接返回空
令第一个字符串作为基准进行比较
设置一个长度,作为最后最长公共前缀的长度
循环判断,选取最小长度
代码
package easy.最长公共前缀14;
class Solution {
public String longestCommonPrefix(String[] strs) {
//如果为空,直接返回空
if ("".equals(strs[0])) return "";
//第一个作为基准进行比较
String s = strs[0];
//记录最长公共前缀的长度
int len = s.length();
for (int i = 1; i < strs.length; i++) {
int l = 0;
if ("".equals(strs[i])) return "";
int length = Math.min(s.length(), strs[i].length());
for (int j = 0; j < length; j++) {
if (s.charAt(j) == strs[i].charAt(j)) {
l++;
} else {
break;
}
}
if (l < len) len = l;
}
return s.substring(0, len);
}
}