2020.10.13繼續堅持每天一道演算法題,從簡單到難題,一步乙個腳印,腳踏實地,希望每天都如此,今天的題目是最長公共字首,開始沒有懂,自己有查了一遍zip()函式,這個函式在python中好用下面讓我們先來看看題把:
編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 「」。
示例 1:
輸入: [「flower」,「flow」,「flight」]
輸出: 「fl」
示例 2:
輸入: [「dog」,「racecar」,「car」]
輸出: 「」
解釋: 輸入不存在公共字首。
看看解析**:
class
solution
(object):
deflongestcommonprefix
(self, strs)
:"""
:type strs: list[str]
:rtype: str
"""s=
''#建立乙個空的字串
for i in
zip(
*strs):if
len(
set(i))==
1:#set函式很重要
s+=i[0]
#把i當中符合條件的第乙個元素存入s當中
else
:break
#如果不滿足直接彈出推出迴圈後面就不滿足條件
return s#返回長度
力扣最長公共字首理解
注意直觀上想應該是構建乙個準備最後返回的指標,然後這個指標指向的陣列的長度取決於字串陣列中最短的那個字串的長度,但是這樣會很麻煩,所以不妨直接對原陣列操作。即由於返回的公共部分是每乙個元素即每乙個字串都共有的,所以不妨直接取strs 0 操作,即找到strs公共部分後給strs 0 這個字串加上 0...
力扣之最長公共字首
編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 我的思路是取陣列第一項為最初的值,然後和其他的各項進行,比較,然後得出公共字首。var longestcommonprefix function strs else common common.substr 0,j if c...
力扣14 最長公共字首。
編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。1 思路 2 標籤 鍊錶 3 當字串陣列長度為 0 時則公共字首為空,直接返回...