Write a function to find the longest common prefix string amongst an array of strings.
解题思路:
大概就是先拿第一个作为前缀去匹配第二个,更新前缀,不断循环下去直到结束。
有一个点就是,可以先比较前缀跟要匹配的String的长度大小,如果前缀长度大于要匹配的String长度,就把两者交换过来。
[java] view plain copy print ? public class Solution { public String longestCommonPrefix(String[] strs) { if (strs.length == 0) return ""; String result = strs[0]; int i = 1; while(result.length()>0 && i<strs.length) { String str = strs[i]; if(str.length() ==0) return ""; String a = result; String b = str; if(result.length() > str.length()) { a = str; b = result; } while(b.indexOf(a) != 0) { a = a.substring(0, a.length()-1); } result = a; i++; } return result; } } public class Solution { public String longestCommonPrefix(String[] strs) { if (strs.length == 0) return ""; String result = strs[0]; int i = 1; while(result.length()>0 && i<strs.length) { String str = strs[i]; if(str.length() ==0) return ""; String a = result; String b = str; if(result.length() > str.length()) { a = str; b = result; } while(b.indexOf(a) != 0) { a = a.substring(0, a.length()-1); } result = a; i++; } return result; } }
