分治法
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs.length==0){
return "";
}
return commonPrefix(strs,0,strs.length-1);
}
private String commonPrefix(String[] strs,int lo,int hi){
if (lo==hi) {
return strs[lo];
}else if (lo>hi){
return "";
}
int mid=(lo+hi)/2;
var str1=commonPrefix(strs,lo,mid);
var str2=commonPrefix(strs,mid+1,hi);
StringBuilder sb=new StringBuilder();
int min_len=Math.min(str1.length(),str2.length());
for (int i = 0; i < min_len; i++) {
if (str1.charAt(i)==str2.charAt(i)){
sb.append(str1.charAt(i));
}else{
return sb.toString();
}
}
return sb.toString();
}
}