题目
给你一个大小为 n 的字符串数组 strs ,其中包含n个字符串 , 编写一个函数来查找字符串数组中的最长公共前缀,返回这个公共前缀。
示例1
输入:["abca","abc","abca","abc","abcc"]
返回值:"abc"
解题思路
1.列表为空,则直接返回空字符串
2.列表只有一个元素,则直接返回该元素
3.列表元素个数大于一个,则让列表中第一个字符串与其余字符串依次匹配,若能匹配成功则返回该前缀,若匹配失败,则将第一个字符串减少一位,再与其余字符串匹配,直到第一个字符串为空字符串,则返回空字符串
题解
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param strs string字符串一维数组
# @return string字符串
#
class Solution:
def longestCommonPrefix(self , strs: List[str]) -> str:
# 1.列表为空,则直接返回空字符串
if strs==[]: return ""
# 2.列表只有一个元素,则直接返回该元素
if len(strs)==1:return strs[0]
# 3.列表元素个数大于一个,则让列表中第一个字符串与其余字符串依次匹配,若能匹配成功则返回该前缀,若匹配失败,则将第一个字符串减少一位,再与其余字符串匹配,直到第一个字符串为空字符串,则返回空字符串
n=1
str0=strs[0]
while n<=len(strs)-1:
if str0 not in strs[n]:
str0=str0[:-1]
if str0=="": return ""
n=1
n+=1
return str0