最長公共字首

2022-08-01 14:33:18 字數 1533 閱讀 4529

編寫乙個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串 ""。

示例 1:

輸入: ["flower","flow","flight"]

輸出: "fl"

示例 2:

輸入: ["dog","racecar","car"]

輸出: ""

解釋: 輸入不存在公共字首。

def

longestcommonprefix(self, strs):

ifnot strs: return

""s1 =min(strs)

s2 =max(strs)

for i,x in

enumerate(s1):

if x !=s2[i]:

return

s2[:i]

return s1

if not x

if x is none

if not x is none

if x is not none`是最好的寫法,清晰,不會出現錯誤,以後堅持使用這種寫法。

使用if not x這種寫法的前提是:必須清楚x等於none,  false, 空字串"", 0, 空列表, 空字典{}, 空元組()時對你的判斷沒有影響才行

用於將乙個可遍歷的資料物件(如列表、元組或字串)組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。

語法:

enumerate(sequence,[start=0])

例項:

>>>seasons = ['

spring

', '

summer

', '

fall

', '

winter']

>>>list(enumerate(seasons))

[(0,

'spring

'), (1, '

summer

'), (2, '

fall

'), (3, '

winter')]

>>> list(enumerate(seasons, start=1)) #

下標從 1 開始

[(1, '

spring

'), (2, '

summer

'), (3, '

fall

'), (4, '

winter

')]

def

longestcommonprefix(self, strs):

ifnot strs: return

""ss = list(map(set, zip(*strs)))

res = ""

for i, x in

enumerate(ss):

x =list(x)

if len(x) > 1:

break

res = res +x[0]

return res

最長公共字首

描述 給k個字串,求出他們的最長公共字首 lcp 樣例 在 abcd abef 和 acef 中,lcp 為 a 在 abcdefg abcefg abcefa 中,lcp 為 abc 新知識點 vectorstrs既可以是一維的,也可以是多維的。在這裡講解三維的初始化。vector str str...

最長公共字首

編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母a z。class solution object...

最長公共字首

編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母a z。param strs return var...