LeetCode 14 最長公共字首

2021-09-10 10:01:38 字數 1384 閱讀 2707

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

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

示例 1:

輸入: [「flower」,「flow」,「flight」]

輸出: 「fl」

示例 2:

輸入: [「dog」,「racecar」,「car」]

輸出: 「」

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

說明:所有輸入只包含小寫字母 a-z 。

正常解法:

遍歷,遇到字串不同,或者字串超出遍歷的長度就返回。

class

solution

:def

longestcommonprefix

(self, strs)

:"""

:type strs: list[str]

:rtype: str

"""ifnot strs:

return

""if

len(strs)==1

:return strs[0]

minl =

min(

[len

(x)for x in strs]

) end =

0while end < minl:

for i in

range(1

,len

(strs)):

if strs[i]

[end]

!= strs[i-1]

[end]

:return strs[0]

[:end]

end +=

1return strs[0]

[:end]

大神解法:

class

solution

:def

longestcommonprefix

(self, strs)

:"""

:type strs: list[str]

:rtype: str

"""res =

""if

len(strs)==0

:return

""for each in

zip(

*strs)

:#zip()函式用於將可迭代物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表

iflen

(set

(each))==

1:#利用集合建立乙個無序不重複元素集

res += each[0]

else

:return res

return res

LeetCode14最長公共字首

編寫乙個函式來查詢字串陣列中最長的公共字首字串。例如 輸出 ab 比較乙個字串陣列的最長公共字首,遍歷整個字串陣列,建立乙個字串用來儲存當前最長公共字串,逐個比較,不斷更新公共字串內容。情況比較多,考慮周全,不然可能會陣列溢位。公共字串的長度和當前比較字串的長度大小的比較,避免陣列越界,還有空字串的...

LeetCode 14 最長公共字首

編寫乙個函式來查詢字串陣列中最長的公共字首字串。用第乙個字串s,比較strs的每個字串的公共字首,並記錄字首有m位,之後輸出s的前m位字元即可。但是在輸出過程中,使用了如下的賦值方式 for int i 0 i m i ans i s i 在string型別中,內部的成員是private的,所以不能...

LeetCode14 最長公共字首

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