leetcode14-Longest Common Prefix最长公共前缀
方法一:
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs:return ""
s1=min(strs)
s2=max(strs)
for i,c in enumerate(s1):
if c!=s2[i]:
return s1[:i]
return s1
方法二:比方法一快
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if strs == [] :
return ""
min = len(strs[0])
for item in strs:
if len(item) <= min: #一定要包括=号,因为如果列表第一个恰好为最短的字符串,将导致
# minStr=item没用,即minStr变量没用被赋值,再下面一个for循
# 环中将会出错:minStr在赋值之前被引用
min = len(item) #最短字符串的长度
minStr = item #最短字符串
for i in range(min):
c = minStr[i]
for item in strs:
if c != item[i]:
return "".join(minStr[0:x])
return minStr #上面那个if语句没起作用,最长前缀为最短的字符串