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://leetcode-cn.com/problems/longest-common-pref...
- 传送门 题目要求 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 ...
- 题目如下: 解题思路是首先找到最短的那个字符串,因为最长前缀不会超过这个最短字符串的长度。然后将该字符串转换为枚举...