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

14. 最长公共前缀

作者: mayuee | 来源:发表于2021-07-08 23:14 被阅读0次

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

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

示例 1:

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

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

提示:

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

思路

当字符串数组长度为 0 时则公共前缀为空,直接返回
令最长公共前缀 res 的值为第一个字符串,进行初始化
遍历后面的字符串,依次将其与 res 进行比较,两两找出公共前缀,最终结果即为最长公共前缀
如果查找过程中出现了 res 长度为0(空串)的情况,则不存在公共前缀,直接返回
时间复杂度:O(s),s 为所有字符串的长度之和
代码

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length == 0) return "";

        //取第一个字符串初始化为参考
        String res = strs[0];

        //从第二个开始遍历
        for(int i = 1; i < strs.length; i++){
            int j = 0;
            String stri = strs[i];
            while(j < res.length() && j < stri.length()){
                //逐个字符对比
                if(res.charAt(j) != stri.charAt(j)){
                    break;
                }
                j++;
            }

            res = res.substring(0, j);
            
              //如果res长度为0,空串,没有公共前缀,直接返回
             if(res.length() == 0){
                return res;
            }
        }

        return res;
    }
}

相关文章

  • 14. 最长公共前缀

    20180923-摘抄自14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,...

  • 算法第3天:最长公共前缀

    leetcode 14. 最长公共前缀 simple 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共...

  • [day4] [LeetCode] [title14,122]

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

  • 14. 最长公共前缀

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

  • 14.最长公共前缀

    14.最长公共前缀 难度:简单 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ...

  • 14. 最长公共前缀

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

  • [LeetCode]14-最长公共前缀

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

  • 每日Leetcode—算法(2)

    14.最长公共前缀 输入: ["flower","flow","flight"],输出: "fl"输入: ["do...

  • 14. 最长公共前缀

    14. 最长公共前缀[https://leetcode-cn.com/problems/longest-commo...

  • LeetCode学习计划:LeetCode 75-Level-2

    14. 最长公共前缀[https://leetcode.cn/problems/longest-common-pr...

网友评论

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

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