美文网首页
14.最长公共前缀

14.最长公共前缀

作者: 一直流浪 | 来源:发表于2022-10-02 00:44 被阅读0次

    14.最长公共前缀

    难度:简单

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

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

    示例 1:

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

    示例 2:

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

    说明:

    所有输入只包含小写字母 a-z

    解法一:贪心法

    我们看完题后,会发现最终结果一定是从前往后最长的公共子串,而且一定是小于等于任意一个字符串的,看起来像是在说废话,但是注意这个从前往后,我们反其道而行之,先把第一个字符串当成这个字符串数组的公共最长子串,然后和其他的一个一个比,然后削短,最后符合所有字符串的公共前缀,就是最后的结果。

    代码:

    public String longestCommonPrefix(String[] strs) {
            if (strs.length == 0)
                return "";
            String prefix = strs[0];
            for (int i = 1; i < strs.length; i++)
                while (strs[i].indexOf(prefix) != 0) {
                    prefix = prefix.substring(0, prefix.length() - 1);
                    if (prefix.isEmpty())
                        return "";
                }
            return prefix;
     }
    

    相关文章

      网友评论

          本文标题:14.最长公共前缀

          本文链接:https://www.haomeiwen.com/subject/kiiqwrtx.html