题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
思路
由于是个菜鸟,所以自己想了很久,然后改了无数遍代码,依然没有通过leetcode提交,后来找来一位大神的博客看了看(链接如下:https://blog.csdn.net/chenhua1125/article/details/80542344) 终于有点思路:主要使用了max(),min()函数,然后这个问题就变得十分简单了。
代码段
class Solution:
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
if not strs:
return ''
a = min(strs)
b = max(strs)
if a == '':
return ''
l = len(a)+1
for i in range(l):
try:
if a[i] == b[i]:
continue
else:
break
except:
break
return a[0:i]
注意
-
有两种容易忽略的情况:
-
列表为空([])
-
列表中有空字符串(’’)
-
-
如何输出最长公共前缀就是最小字符串的问题也是需要考虑的问题(仅针对上面的代码思路)