题解 | #最长公共前缀#分治法
最长公共前缀
http://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47
import java.util.*;
public class Solution { /** * * @param strs string字符串一维数组 * @return string字符串 */ public String longestCommonPrefix (String[] strs) { // write code here if(strs.length==0) return ""; return two(strs,0,strs.length-1); } static String two(String[] strs,int i,int j){ if(i>j) return null; else if(i==j) return strs[i]; int mid=(i+j)/2; return help(two(strs,i,mid),two(strs,mid+1,j)); } static String help(String s1,String s2){ StringBuffer sb = new StringBuffer(); int minl=Math.min(s1.length(),s2.length()); for(int i=0;i<minl;i++){ char c1=s1.charAt(i); char c2=s2.charAt(i); if(c1==c2) sb.append(c1); else break; } return sb.toString(); } }