题解 | #最长公共前缀#
最长公共前缀
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(); } }