LeetCode 14 最长公共前缀 Java
public String longestCommonPrefix(String[] strs) {
//判断极限情况
if (strs == null || strs.length == 0) {
return "";
}
if (strs.length == 1) {
return strs[0];
}
String result = strs[0]; //默认用第一个字符串比较
for (int i = 1; i < strs.length; i++) {//所以从第二个字符串开始比
char[] chars = strs[i].toCharArray();
int start = -1; //索引
int length = 0;
for (int j = 0; j < chars.length; j++) {
if (result.length() > j) {
if (result.charAt(j) == chars[j]) {
if (start == -1) {//判断开始索引
start = j;
}
length++; //判断length
}else{
break;
}
}
}
if (start != -1) {//判断是否有公共,处理截取
result = result.substring(start, start + length);
} else {
result = "";
}
}
return result;
}
本文标题:LeetCode 14 最长公共前缀 Java
本文链接:https://www.haomeiwen.com/subject/yevbohtx.html
网友评论