编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
问题比较简单,直接上代码,写的不够精简,但是比较容易懂,大佬们求指教。
class Solution:
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
if len (strs) == 1:
return strs[0]
if strs == []:
return ""
temp = self.__firstmatch(strs[0],strs[1])#比较前两个字符串中公共前缀
if temp =="":
return ""
result = temp
for i in range(len(strs)-1):
temp = self.__firstmatch(temp,strs[i+1])
if temp =="":
return ""
if len (temp)<len(result):
result = temp
return result
def __firstmatch(self,a,b):#比较两个数组中从头开始相同的字符串
result=""
for i in range(len(a)):
if i>len(b)-1 or a[i] != b[i] or i>len(b) :
break
result +=a[i]
return result