class Solution:
def longestCommonPrefix(self, strs: List[str]):->str
common_str = ""
flag = True
for i in range(len(strs[0])): #這句話一直報錯越界,然而在本地運行結果正確。
for j in range(len(strs)):
if strs[0][i] != strs[j][i]:
flag = False
break
if flag == False:
break
else:
common_str += strs[0][i]
return common_str
后來用min取第一個元素。s=min(strs),也報錯,提示min的引數不能為空。可我明明傳了strs,不為空啊。
后來,這樣寫:
if not strs: return ""
s = min(strs) #這里沒有換行,應該和前面一句沒有關系吧?但是它就不報錯了。????
是不是leetcode的bug?
uj5u.com熱心網友回復:
class Solution:def longestCommonPrefix(self, strs):
common_str = ""
flag = True
for i in range(len(strs[0])):
for j in range(len(strs)):
if strs[0][i] != strs[j][i]:
flag = False
break
if flag == False:
break
else:
common_str += strs[0][i]
return common_str
a=Solution()
strs=[['1','2','3']]
print(a.longestCommonPrefix(strs))
傳入的strs是二維陣列并且字串嗎?如果是這樣型別的沒問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/106431.html
