50.最长公共前缀
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
输入
["abca","abc","abca","abc","abcc"]
返回值
"abc"
分析
1.首先对String数组进行判空处理,为了达到代码的健壮性
2.对String数组进行排序
3.遍历首尾的字符串,若有不相等的,跳出循环。
4.截取前面公共的字符串,即就是最长公共字符串前缀
代码实现
import java.util.*;
public class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs == null || strs.length == 0)
return "";
Arrays.sort(strs);
int len = strs.length;
int min = Math.min(strs[0].length(), strs[len - 1].length());
int i = 0;
for(i = 0; i < min; i++){
if(strs[0].charAt(i) != strs[len - 1].charAt(i))
break;
}
return strs[0].substring(0,i);
}
}