Write a function to find the longest common prefix string amongst an array of strings.
public class Solution { int minLEN=Integer.MAX_VALUE; public String longestCommonPrefix(List<String>strs) { if(minLEN==0) { return ""; } int LEN=strs.size(); if(LEN==1) { return strs.get(0); } List<String >prefix=new LinkedList<String>(); int index=0; StringBuilder builder=new StringBuilder(""); for(index=1;index<LEN;index+=2){ builder.delete(0,builder.length()); String a=strs.get(index); String b=strs.get(index-1); minLEN=Math.min(a.length(),minLEN); minLEN=Math.min(b.length(),minLEN); for(int i=0;i<minLEN;i++){ if(a.charAt(i)==b.charAt(i)) { builder.append(a.charAt(i)); continue; } break; } prefix.add(builder.toString()); } if(index==LEN) { prefix.add(strs.get(index-1)); } return longestCommonPrefix(prefix); } public String longestCommonPrefix(String[] strs) { if(strs==null||strs.length==0) { return ""; } List<String>list=new LinkedList<String>(); for(String s:strs) { list.add(s); } return longestCommonPrefix(list); } }
原文地址:http://blog.csdn.net/jiewuyou/article/details/39249709