
LeetCode:(14. 最长公共前缀!!!!!)
检查输入:首先检查字符串数组是否为空,如果为空,直接返回空字符串。 使用 zip 函数:将字符串数组中的每个字符位置组合成一个元组列表。 遍历字符组:对于每个生成的字符组,检查其中所有字符是否相同。如果是,将该字符添加到结果字符串中;否则,停止遍历。 返回结果:最终返回结果字符串,即最长公共前缀。
发布日期:2021-05-08 02:38:00
浏览次数:20
分类:精选文章
本文共 860 字,大约阅读时间需要 2 分钟。
为了查找字符串数组中的最长公共前缀,我们可以使用Python中的zip()
函数和集合的特性来简化实现过程。
方法思路
zip(*strs)
会生成一个迭代器,其中每个元素是一个位置上的所有字符组成的元组。这种方法利用了zip()
函数的灵活性和集合的性质,能够简洁地处理字符串长度不一致的情况,并高效地找到最长公共前缀。
解决代码
from typing import Listclass Solution: def longestCommonPrefix(self, strs: List[str]) -> str: if not strs: return "" result = "" for chars in zip(*strs): if len(set(chars)) == 1: result += chars[0] else: break return result
代码解释
- 检查输入:首先检查
strs
是否为空,若为空则直接返回空字符串。 - 初始化结果字符串:
result
用于存储最长公共前缀。 - 遍历每个字符位置:使用
zip(*strs)
生成每个字符位置的元组列表,并遍历每个元组。 - 检查字符一致性:对于每个元组,使用集合去重,如果所有字符相同,则添加第一个字符到结果中;否则,停止循环。
- 返回结果:最后返回
result
即最长公共前缀。
这种方法简洁高效,能够处理各种情况,包括字符串长度不一致的情况。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月10日 12时37分50秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
.NET应用框架架构设计实践 - 概述
2019-03-06
Rust 内置 trait :PartialEq 和 Eq
2019-03-06
Hibernate(十四)抓取策略
2019-03-06
Mybatis入门之增删改查
2019-03-06
[菜鸟的设计模式之旅]观察者模式
2019-03-06
Spring-继承JdbcDaoSupport类后简化配置文件内容
2019-03-06
Java基础IO流(一)
2019-03-06
Hibernate入门(四)---------一级缓存
2019-03-06
MySQL事务(学习笔记)
2019-03-06
一个web前端开发者的日常唠叨
2019-03-06
内存分配-slab分配器
2019-03-06
技术写作技巧分享:我是如何从写作小白成长为多平台优秀作者的?
2019-03-06
Jupyter Notebook 暗色自定义主题
2019-03-06
[Python学习笔记]组织文件
2019-03-06
DCL之单例模式
2019-03-06
什么?你竟然还没有用这几个chrome插件?
2019-03-06
将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
2019-03-06
【俗话说】换个角度理解TCP的三次握手和四次挥手
2019-03-06
基于Redo Log和Undo Log的MySQL崩溃恢复流程
2019-03-06