# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @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) # 返回公共子串结果