查詢字串陣列中最長公共字首

2021-09-24 12:41:07 字數 1042 閱讀 1972

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

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

示例 1:

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

輸出: "fl"

示例 2:

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

輸出: ""

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

由於提供的單詞長度不同,應該以長度最短單詞作為基準單詞進行比較,如["flower","flow","flight"]中應該以flow作為基準單詞來和["flower","flight"]一一對比,因此需要先將列表根據列表中的單詞長度來排序。

使用result引數儲存公共字首。從下標0(單詞中第乙個字母)開始,判斷列表中每乙個字串同一索引位置所對應的字母是否與基準單詞同一索引位置的字母相同,如果相同,更新最長公共字首,然後判斷下乙個字母。

當某乙個下標對應的字母與基準單詞的同一下標對應的字母的值不相等,則停止更新最長公共字首,並且返回最後更新的最長公共字首。

根據列表中的字串長度排序

兩層for迴圈的使用

**:def  longestcommonprefix(strs):

:type strs:  list[str]

:rtype: str

strs.sort(key  =len)# 根據列表中的字串長度排序

ifnot strs:#如果列表為空,返回空

return''

result = ''#記錄公共字首,根據迴圈遍歷實時更新result

for i in  range(len(strs[0])):#以列表中長度最小的單詞strs[0]的長度為基準進行遍歷

for j in strs[1:]:#遍歷列表中的除基準單詞外的每個字串

if j[i] !=  strs[0][i]:#如果列表中的字串的對應下標的值與strs[0][i]不相同

return result

result +=  strs[0][i]#如果所有字串下標都相同,更新最長公共字首

return result

挑戰字串 最長公共字首

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

python 字串最長公共字首

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

字串最長公共字首問題

leetcode練題筆記第二篇 編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母 a z 橫向掃瞄...