14. 最长公共前缀题目描述

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。

方法 暴力算法

先判断字符串数组是否有为空,为空直接返回空令第一个字符串作为基准进行比较设置一个长度,作为最后最长公共前缀的长度循环判断,选取最小长度

代码

package easy.最长公共前缀14;class Solution {    public String longestCommonPrefix(String[] strs) {        //如果为空,直接返回空        if ("".equals(strs[0])) return "";        //第一个作为基准进行比较        String s = strs[0];        //记录最长公共前缀的长度        int len = s.length();        for (int i = 1; i < strs.length; i++) {            int l = 0;            if ("".equals(strs[i])) return "";            int length = Math.min(s.length(), strs[i].length());            for (int j = 0; j < length; j++) {                if (s.charAt(j) == strs[i].charAt(j)) {                    l++;                } else {                    break;                }            }            if (l < len) len = l;        }        return s.substring(0, len);    }}