14.最长公共前缀

1.题目描述

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

输入:strs = ["flower","flow","flight"] 输出:"fl"

示例 2:

输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。

2.解题过程

根据字符串字典序规则,我们可以看出,排序后的首个字符串和末尾字符串差异最大。当前需要求得最长公共前缀,只需要求出头尾两个字符串的公共前缀即可

class Solution {
    public String longestCommonPrefix(String[] strs) {
        Arrays.sort(strs);
        String first = strs[0];
        String last = strs[strs.length-1];
        int offset = 0;
        while (offset < first.length()) {
            if (first.charAt(offset) != last.charAt(offset)) {
                break;
            }
            offset++;
        }
        return first.substring(0, offset);
    }
}

results matching ""

    No results matching ""