LeetCode14 最長公共字首

2022-06-22 05:24:17 字數 1114 閱讀 2588

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

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

示例 1:

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

輸出: "fl"

示例 2:

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

輸出: ""

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

說明:

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

首先考慮特殊情況,即列表中沒有字串或者只有乙個字串。

列表中最長的相同字首就是列表中最短的那個字串的長度。

從頭開始匹配,關鍵是停止遍歷的條件:不再相同,此時就可以直接返回。

class solution:

def longestcommonprefix(self, strs):

""":type strs: list[str]

:rtype: str

"""# 特殊情況:沒有字串/有乙個字串

if len(strs) == 0:

return ""

if len(strs) == 1:

return strs[0]

len_strs = len(strs)

# 最大長度為所有字串中長度最短的那個

max_len_prefix = min([len(str) for str in strs])

for idx_pre in range(0, max_len_prefix):

for idx_strs in range(1, len_strs):

if strs[0][idx_pre] != strs[idx_strs][idx_pre]:

return strs[0][:idx_pre]

# 如果在for中沒返回,則最長的字首長度就為max_len_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...