Shawngbk / Leecode

Questions of Leecode
0 stars 0 forks source link

14. Longest Common Prefix #1

Open Shawngbk opened 7 years ago

Shawngbk commented 7 years ago

解题思路是,先对整个String数组预处理一下,求一个最小长度(最长前缀肯定不能大于最小长度)。 然后以第0个字符串作为参照,从第1个字符串到最后一个字符串,对同一位置做判断,有不同字符串返回当前记录的字符串就行。 public class Solution { public String longestCommonPrefix(String[] strs) { if(strs == null || strs.length == 0) return ""; int len = minLen(strs); StringBuilder res = new StringBuilder(); int flag = 0; while(flag < len) { for(int i=1; i<strs.length; i++) { if(strs[i].charAt(flag) != strs[0].charAt(flag)) return res.toString(); } res.append(strs[0].charAt(flag)); flag++; } return res.toString(); }

private int minLen(String[] strs) {
    int min = Integer.MAX_VALUE;
    for(int i=0; i<strs.length; i++) {
        min = Math.min(min,strs[i].length());
    }
    return min;
}

}