題目:
編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 ""。
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共字首。
說明:
所有輸入只包含小寫字母 a-z 。
解答:
classview codesolution:
def longestcommonprefix(self, strs: list[str]) ->str:
if len(strs)==0: return
""if len(strs)==1: return
strs[0]
strs.sort()
p=""
for x,y in zip(strs[0],strs[-1]):
if x==y:
p+=x
else
:
break
return p
classview codesolution:
def longestcommonprefix(self, strs: list[str]) ->str:
if len(strs)==0:
return
''s1=min(strs)
s2=max(strs)
for i,v in
enumerate(s1):
if v!=s2[i]:
return
s1[:i]
return s1
classview codesolution:
def longestcommonprefix(self, strs: list[str]) ->str:
res = ""
for i in zip(*strs):
if len(set(i)) == 1:
res +=i[0]
else
:
return
res
return res
classview codesolution:
def longestcommonprefix(self, strs: list[str]) ->str:
if len(strs) < 1:
return
""index = 1prefix =strs[0]
while index
while prefix !=strs[index][: len(prefix)]:
prefix = prefix[:-1]
if len(prefix) < 1:
return
""index += 1
return prefix
classview codesolution:
def longestcommonprefix(self, strs: list[str]) ->str:
common = ''
min_length = min([len(i) for i in strs]) if strs else
0
for i in
range(0, min_length):
letter =set()
for item in
strs:
letter.add(item[i])
if len(letter) == 1:
common +=item[i]
else
:
return
common
return common
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...