链接
https://leetcode-cn.com/problems/longest-common-prefix/description/
要求
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
输入: ["flower","flow","flight"]
输出: "fl"
输入: ["dog","racecar","car"]
输出: ""
相关代码
class Solution(object):
def longestCommonPrefix(self, strs):
if len(strs) == 0:
return ''
elif "" in strs:
return ''
elif len(strs) == 1:
return strs[0]
len_count = len(sorted(strs, key = len)[0])
strs_cut = [x[0:len_count] for x in strs]
while len(set(strs_cut)) > 1:
strs_cut = [x[0:-1] for x in strs_cut]
return strs_cut[0]
心得体会
解题时试过的一些方法中对set去重后列表重新排序的方法
#使用sorted
strs = ['b', 'a', 'a', 'c']
strs_set = list(set(strs))
print sorted(strs_set ,key = strs.index)
#使用sort
strs = ['b', 'a', 'a', 'c']
strs_set.sort(key = strs.index)
print strs_set
打印结果均为['b', 'a', 'c']