Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string ""
.
Input: strs = ["flower","flow","flight"]
Output: "fl"
思想:
将第一个单词最为最长公共前缀,然后将最长公共前缀与后面的单词一一对比,每两个单词对比后,更新最长公共前缀。
def longestCommonPrefix(strs):
"""
:type strs: List[str]
:rtype: str
"""
str_length = len(strs)#获得strs有多少个单词
longestCommonPrefix = strs[0]#预定义,将第一个单词作为最长公共前缀
for i in range(1,str_length):#从第二个单词与最长公共前缀一一对比
new = ''#预定义 每轮对比产生新的最长公共前缀
m = min(len(longestCommonPrefix),len(strs[i]))#取每轮对比的两个单词的最长单词长度作为对比次数
#print(m)
for j in range(m):#对比
if strs[0][j] == strs[i][j]:#公共前缀与对比单词的字母一一对比
new += strs[0][j]#相同,则添加到新最长公共前缀中
else:
break#不同,则跳出来
longestCommonPrefix = new#更新最长公共前缀
#print("new:"+str(new))
return longestCommonPrefix