鏈接
https://leetcode-cn.com/problems/longest-common-prefix/description/
要求
編寫一個函數(shù)來查找字符串數(shù)組中的最長公共前綴磷脯。
如果不存在公共前綴袭祟,返回空字符串 ""坐慰。
輸入: ["flower","flow","flight"]
輸出: "fl"
輸入: ["dog","racecar","car"]
輸出: ""
相關(guān)代碼
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]
Snipaste_2018-08-23_13-34-55.png
心得體會
解題時試過的一些方法中對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
打印結(jié)果均為['b', 'a', 'c']