Python 最長公共字首

2021-10-07 14:43:44 字數 1419 閱讀 1986

最長公共字首

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

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

示例 1:

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

輸出: 「fl」

示例 2:

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

輸出: 「」

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

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

方法1:主要思路是取出所有字串相同索引的字元,進行比對,使用迴圈取出,比較麻煩

class

solution

:def

longestcommonprefix

(self, strs: list[

str])-

>

str:

x =""try

:for i in

range

(len

(strs[0]

)):for j in

range(1

,len

(strs)):

if strs[j -1]

[i]!= strs[j]

[i]:

return x

x += strs[0]

[i]except

:return x

return x

方法2:主要使用了zip(*)函式,可以快速的取到相同索引下的字元

class

solution

:def

longestcommonprefix

(self, strs: list[

str])-

>

str:

newstr =

""for i in

zip(

*strs)

:#zip(*strs) 將列表每個字串的相同索引下的字元拿出,生成乙個元組,只會取出最小字串長度數量

seti =

set(i)

#轉為set型別去重

iflen

(seti)==1

:#去重後字元只剩乙個,就是我們需要的字元

newstr += i[0]

else

:#在任何時候去重後出現多個字元,都退出迴圈

break

return newstr

總結:

使用自己已知的方法獲得結果,同時去了解實現目標更便捷的方法,通過解決這道題,學到了zip()函式的使用。

筆者是一位python小白,望各路大神多多指點

一點點積累,一點點成長

最長公共字首 python

class solution def longestcommonprefix self,strs list str str ifnot strs return strs.sort 這應該是最重要的一步了,給陣列中的各個字串排序,排序之後的第乙個最短,最後乙個最長,所以直接拿第乙個和最後乙個比較就好了...

最長公共字首 python

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

最長公共字首

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