题目:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
解法:
class Solution(object):
def equal_str(self, str1, str2):
i, j = 0, 0
str3 = ''
while i < len(str1) and j < len(str2):
if str1[i] == str2[j]:
str3 += str1[i]
i += 1
j += 1
else:
break
return str3
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
if not strs: return ''
if len(strs) < 2: return strs[0]
longest_str = self.equal_str(strs[0], strs[1])
for i in strs[1: ]:
longest_str = self.equal_str(i, longest_str)
return longest_str
时间复杂度:O(mn)
奥利给!