题目描述:
给k个字符串,求出他们的最长公共前缀(LCP)
样例
在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A"
在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"
1 public class Solution { 2 /** 3 * @param strs: A list of strings 4 * @return: The longest common prefix 5 */ 6 public String longestCommonPrefix(String[] strs) { 7 // write your code here 8 int k=1; 9 if(strs.length==1) 10 return strs[0]; 11 else if(strs.length==0){ 12 return ""; 13 }else{ 14 while(true){ 15 for(int i=0;i<strs.length;i++){ 16 if(strs[i]==null){ 17 return null; 18 }else if(k > strs[i].length()){ 19 return strs[i]; 20 }else if(!strs[i].substring(0, k).equals(strs[0].substring(0, k))) 21 return strs[0].substring(0, k-1); 22 } 23 k++; 24 } 25 } 26 } 27 }