Leetcode 14 最長公共字首

2021-10-01 07:12:19 字數 1311 閱讀 4019

github位址 編寫

分析了一下題目

② 將陣列中所有的字串進行元組化

③元組化後,再對每個元組進行set, 就可以看成乙個字串的乙個字元

④如果set後,長度為 1, 那麼就說明這個陣列中每個字串當前位置的字元都相等

—待補充

class

solution

:def

longestcommonprefix

(self, strs: list[

str])-

>

str:

strslen =

len(strs)

if(strslen <=0)

:return

'' ans = strs[0]

for i in

range(1

, strslen)

:while

(strs[i]

.find(ans)!=0

):ans = ans[:-

1]if(ans =='')

:return

''return ans

# 只需要找到最長字串,最短字串兩者進行比較

deflongestcommonprefix

(self, strs: list[

str])-

>

str:

ifnot strs:

return

"" s1 =

min(strs)

s2 =

max(strs)

for i,x in

enumerate

(s1)

:if x != s2[i]

:return s2[

:i]return s1

# 將陣列中所有的字串進行元組化

# 元組化後,再對每個元組進行set, 就可以看成乙個字串的乙個字元

# 如果set後,長度為 1, 那麼就說明這個陣列中每個字串當前位置的字元都相等

deflongestcommonprefix

(self, strs)

: prefix =

for t in

zip(

*strs)

: s =

set(t)if(

len(s)==1

):))

else

:break

return

"".join(prefix)

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...