Write a function to find the longest common prefix string amongst an array of strings.
找出所有字符串的最长公共前缀.
思路:首先比较前两个字符串的公共部分,将其公共部分放到prefix中,然后再拿prefix和第三个比较得到新的prefix,如此循环即可,当比较的两个字符不相同是则跳出循环。
public class LongestCommonPrefix {
public static void main(String[] args) { String[] strs = {"hello","hello","hel"}; String prefix = strs[0]; for(int i = 1; i < strs.length; ++i){ prefix = findCommonLongestPrefix(prefix,strs[i]); } System.out.println(prefix); }public static String findCommonLongestPrefix(String prefix, String current) {
StringBuffer sb = new StringBuffer(); int len = prefix.length() > current.length() ? current.length() : prefix.length(); for(int i = 0; i < len; ++i){ if(prefix.charAt(i) == current.charAt(i)){ sb.append(prefix.charAt(i)); }else{ break; } } return sb.toString(); }}