[LeetCode]14. 最长公共前缀

Posted Spring-_-Bear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode]14. 最长公共前缀相关的知识,希望对你有一定的参考价值。

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

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

示例 1:

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

示例 2:

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

提示:

1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成

题解:

class Solution {
    public String longestCommonPrefix(String[] strs) {
        String str = "";

        if (strs.length == 0) {
            return str;
        }

        // 对字符串数组进行排序,排序后只需比较首尾两个字符串即可
        Arrays.sort(strs);

        int first = 0;
        int last = strs.length - 1;

        // 比较字符串数组中首尾两个字符串,找到它们公共前缀字符串即为所求
        for (int i = 0; i < strs[first].length(); i++) {
            if (strs[first].charAt(i) != strs[last].charAt(i)) {
                break;
            }
            // 将当前比较字符追加到公共前缀字符串尾
            str += strs[first].charAt(i);
        }

        return str;
    }
}

以上是关于[LeetCode]14. 最长公共前缀的主要内容,如果未能解决你的问题,请参考以下文章

leetcode14最长公共前缀

[leetcode 14] 最长公共前缀

leetCode第14题——最长公共前缀

LeetCode 14. 最长公共前缀

LeetCode:最长公共前缀14

Leetcode 14 最长公共前缀