编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串【杭州多测师】【杭州多测师_王sir】
class Test: def compare(self, str1): if len(str1) == 0: #如果入参长度为0返回空字符串 return '' elif len(str1) == 1: #如果入参长度为1返回第一个元素 return str1[0] else: a = sorted(str1, key=lambda x:len(x)) #按字符串的长度进行排序 b = '' s1 = a[0] for i, v in enumerate(s1): #对第一个字符串进行枚举,遍历其每一个字符 l = [] for j in a[1:]: #从第二个字符串开始遍历之后的所有字符串 l.append(v==j[i]) #将字符比较的bool值添加到列表l中 if all(l): #如果列表l中的所有值都为True b += v else: break return b list1 = ["scdtree","scdflower","scdnb"] t = Test() print(t.compare(list1))