题解 | #最长公共前缀#
最长公共前缀
https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47
import java.util.*;
public class Solution {
/**
*
* @param strs string字符串一维数组
* @return string字符串
*/
public String longestCommonPrefix (String[] strs) {
// 整体判断
if(strs.length == 0){
return "";
}
// 使用集合来排序
ArrayList<String> list = new ArrayList();
for(String s : strs){
list.add(s);
}
list.sort((s1,s2) -> {return s1.compareTo(s2);});
// 排序后我们直接用第一个和最后一个比较获取最长公共前缀
StringBuffer res = new StringBuffer();
String s1 = list.get(0);
String s2 = list.get(list.size()-1);
// 符合条件加入,不符合跳出
for(int i = 0;i < Math.min(s1.length(),s2.length());i++){
if(s1.charAt(i) == s2.charAt(i)){
res.append(s1.charAt(i));
}else{
break;
}
}
return res.toString();
}
}
