题目:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
分析:
- 每次比较相邻两个字符串的最大公共前缀
- 写一个函数比较求得两个字符串的最大公共前缀
- 通过一次循环,得到最后结果
代码:
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
def fun(str1,str2):
length = min(len(str1),len(str2))
idx = 0
while idx < length and str1[idx] == str2[idx]:
idx += 1
return str1[:idx]
if not strs:return ''
pre = strs[0]
count = len(strs)
for i in range(1,count):
pre = fun(pre,strs[i])
if not pre:
break
return pre
结果: