【Leetcode】14. 最长公共前缀

76 阅读1分钟

本人已参与【新人创作礼】活动,一起开启掘金创作之路。

✨博文作者 wangzirui32
💖 喜欢的可以 点赞 收藏 关注哦~~
👉本文首发于CSDN,未经许可禁止转载

目录

1. 题目描述

描述

来源:力扣(LeetCode)
链接:leetcode.cn/problems/lo…
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题思路

我们找到列表中最小长度的字符串,进行循环,然后每一次循环检测是否与其他字符串前缀相同,如相同结果存入result中,循环结束后返回最大前缀。

3. 代码实现

Code:

class Solution:
    def longestCommonPrefix(self, strs) -> str:
        min_length_str = min(strs, key=lambda s: len(s))
        result = ""
        for i in range(1, len(min_length_str)+1):
            swith = min_length_str[:i]
            if all([k.startswith(swith) for k in strs]):
                result = swith
        return result

我来解析其中比较重要的代码:

  1. min(strs, key=lambda s: len(s))以字符串的长度为参照,选出最小字符串
  2. swith = min_length_str[:i]获取索引i之前的前缀
  3. all([k.startswith(swith) for k in strs])检测其他字符串前缀是否都相同。

4. 最终结果

结果


🎉🎉🎉 好了,今天的课程就到这里,我是wangzirui32,喜欢的可以点个收藏和关注,我们下次再见!