Leetcode_0014_LongestCommonPrefix 最长公共前缀

79 阅读1分钟
public class Leetcode_0014_LongestCommonPrefix {

    public static String longestCommonPrefix(String[] strs) {
        if (strs == null || strs.length <= 0) {
            return "";
        }
        // 拿出第一个字符串
        char[] base = strs[0].toCharArray();
        int min = Integer.MAX_VALUE;
        for (String s : strs) {
            if (s.equals("")) {
                return "";
            }
            char[] str = s.toCharArray();
            int index = 0;
            // 对比第一个字符串与当前字符串的公共前缀
            while (index < str.length && index < base.length) {
                if (str[index] != base[index]) {
                    break;
                }
                index++;
            }
            // 抓最小值
            min = Math.min(min, index);
            if (min == 0) {
                return "";
            }
        }
        return strs[0].substring(0, min);
    }

    public static void main(String[] args) {
        String[] strs = {"ab", "a"};
        System.out.println(longestCommonPrefix(strs));
    }

}