题解 | #最长公共前缀#
最长公共前缀
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]