题解 | #最长公共前缀#
最长公共前缀
https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param strs string字符串一维数组 # @return string字符串 # class Solution: def longestCommonPrefix(self , strs: List[str]) -> str: # write code here """ step1: 空 step2: 最长公共前缀长度不超过任一字符串长度,以第一个字符串为标杆,遍历第一个字符串所在为止,取出字符串 step3: 遍历数组中后续字符串,一次比较其他字符串中相应为止是否为刚取出字符,是,继续,不是或长度不够,从第i位不同,前面是公共前缀 step4: 遍历结束都相同,最长公共欠怼最多位第一个字符串 """ n = len(strs) if n == 0: return "" # 遍历第一个字符串的长度 for i in range(len(strs[0])): temp = strs[0][i] # 遍历后续字符串 for j in range(1,n): # 比较 if i == len(strs[j]) or strs[j][i] != temp: return strs[0][0:i] # 后续字符串有整个字一个字符串的前缀 return strs[0]