销售型网站,wordpress的google字体,最快网站备案,网站关键字挖掘题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀#xff0c;返回空字符串 。 示例 1: 输入: [flower,flow,flight] 输出: fl 示例 2: 输入: [dog,racecar…题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀返回空字符串 。 示例 1: 输入: [flower,flow,flight] 输出: fl 示例 2: 输入: [dog,racecar,car] 输出: 解释: 输入不存在公共前缀。 考点 根据列表中的字符串长度排序两层for循环的使用for|else的使用算法1 从下标0开始判断每一个字符串同一索引所对应的值判断是否全部相同。直到遇到不全部相同的时候return。 由于提供的单词长度不同应该以最小单词为基准进行比较如[flower,flow,flight]中应该以flow来和剩下的单词一一对比。 所有单词同一索引所对应的值相等则更新最长公共前缀有一个单词与其他单词同一索引所对应的值不相等则返回最后更新的最长公共前缀代码1 def longestCommonPrefix(strs)::type strs: List[str]:rtype: strstrs.sort(key len)# 根据列表中的字符串长度排序if not strs:return result #记录公共前缀for i in range(len(strs[0])):#以列表中长度最小的单词为基准进行遍历for j in strs:#遍历列表中的每个字符串if j[i] ! strs[0][i]:#如果列表中的字符串的对应下标是否相同return resultelse:result strs[0][i]#如果所有字符串下标都相同更新最长公共前缀return result
print(longestCommonPrefix([])) 算法2 利用python的max()和min()在Python里字符串是可以比较的按照ascII值排举例abbabaabac最大为abb最小为aba。所以只需要比较最大最小的公共前缀就是整个数组的公共前缀 代码2 def longestCommonPrefix(self, strs)::type strs: List[str]:rtype: strs1 min(strs)s2 max(strs)for i,x in enumerate(s1):if x ! s2[i]:return s2[:i]return s1 转载于:https://www.cnblogs.com/hyj691001/p/10799710.html