編寫乙個函式以在字串陣列中找到最長的公共字首字串。 如果沒有公共字首,則返回乙個空字串「」
耗時64ms
class solution:
def longestcommonprefix(self, strs: list[str]) -> str:
if len(strs) <= 1:
return strs[0] if len(strs) == 1 else ""
min_len = min([len(s) for s in strs])
#注意有空字串的情況
if min_len == 0:
return ""
end = 0
for end in range(min_len):
for j in range(1, len(strs)):
if strs[j][end]!= strs[0][end]:
return strs[0][:end]
#這個地方字串切片,end的偏移量的-1,所以這裡要加一
return strs[0][:end+1]
耗時48ms
```
class solution:
# @param strs: a list of strings
# @return: the longest common prefix
def longestcommonprefix(self, strs):
# write your code here
if len(strs) <= 1:
return strs[0] if len(strs) == 1 else ""
end, minl = 0, min([len(s) for s in strs])
while end < minl:
for i in range(1, len(strs)):
if strs[i][end] != strs[i-1][end]:
return strs[0][:end]
end = end + 1
#str[:0]就會自己返回空字串,所以不用處理minl ==0的情況
return strs[0][:end]
```
耗時40s,優秀:
```
class solution:
def longestcommonprefix(self, strs: list[str]) -> str:
if not strs:
return ""
shortest = min(strs,key=len)
for i, ch in enumerate(shortest):
for other in strs:
if other[i] != ch:
return shortest[:i]
return shortest
```
最長公共字首 LeetCode
編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例1 輸入 flower flow flight 輸出 fl 示例1 輸入 dog rececar car 輸出 說明 所有輸入只包含小寫字母 a z。首先找到長度最小的字串 minstring,假設此字串為公共字首,依次...
leetcode 最長公共字首
題目 編寫乙個函式來查詢字串陣列中的最長公共字首,如果不存在公公字首,則返回空字串 示例 輸入 flower flow flight 輸出 fl 輸入 dog racecar car 輸出 思路 第一步 令乙個變數等於其中乙個 的首字母,依次看後面的字串是否也有,若沒有跳出整層迴圈,若有計入陣列中 ...
leetcode 最長公共字首
編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。var longestcommonprefix function strs s...