#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param strs string字符串一维数组
# @return string字符串
#
class Solution:
def longestCommonPrefix(self , strs: List[str]) -> str:
# write code here
if len(strs) == 0: #特殊情况处理,当strs列表为空,返回""
return ""
if len(strs) == 1: #特殊情况处理,当strs列表只有1个元素,返回此元素
return strs[0]
strs1 = sorted(strs,key=lambda x:len(x)) #复制原始列表,按照各元素长度从小到大排序
res = [] #保存公共子串结果
for i in range(len(strs1[0])): #用长度最小元素进行遍历
temp = strs1[0][i] #保存临时比对项
c = 0 #初始本次遍历行数的次数
for j in range(len(strs1)): #不同列、相同行的元素和临时项比较,若相同遍历次数加1
if temp == strs1[j][i]:
c = c+1
if c == len(strs1): # 如果本轮遍历过程中,每行相同列都和目标字符一样,加入res列表
res.append(temp)
return ''.join(res) # 返回公共子串结果