两种思路,这里就不考虑暴力的横向纵向解法了,显得太繁琐。下面推两个简单易懂,又十分巧妙的解法思路,共勉
'''
#方法1:根据python内置函数ord()进行字符串大小的比较(在比较时自动转化为Ascall码)
class Solution:
def longestCommonPrefix(self, strs):
if not strs: return ""
s1 = min(strs)
s2 = max(strs)
for i,x in enumerate(s1):
if x != s2[i]:
return s2[:i]
return s1#当输入为''空的时候 输出为空
'''
#法2:用函数zip,set求解
class Solution:
def longestCommonPrefix(self, strs) :
ans = ''
for i in list(zip(*strs)):
if len(set(i)) == 1:
ans += i[0]
else:
break
return ans
if __name__=='__main__':
strs=['flower','flight']
a=Solution();
print(a.longestCommonPrefix(strs))