LeetCode(Python)
14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
。
# 解包遍历法
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
s0 = ""
# 初始化返回值
for s1 in zip(*strs):
# 用自带方法zip(*)将字符串数组strs拆分成多个向量strs[每一个字符串][对应位置]
if len(set(s1))==1:
# 如果s1向量被set函数转换成无重复元素集合的长度为1(即元素相同)
s0 += s1[0]
# 则在返回字符串后方加入s1向量的首位值
else:
break
# 出现第一个非元素相同向量s1时直接退出循环
return s0
# python自带os.path()模块
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
return os.path.commonprefix(strs)
# 只能说当我看到这个题解时很有**的冲动
# 查了一下这个函数的用法是在多个路径中返回最大相同路径
# 人生苦短,我用python.前人栽树,学会乘凉