題目:
編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 ""。
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/longest-common-prefix
著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。
個人思路:
就是遍歷字母比較吧,不覺得有什麼算法。
官方答案推薦:
水平掃描:每次比較一個,找出前綴後比較下一個。直接拿前綴匹配,不符則每次減去最後一個字符繼續比較。
python代碼:
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if(len(strs) == 0):
return ''
prefix = strs[0]
for s in strs[1:]:
while s.find(prefix) != 0:
prefix = prefix[0:-1]
if(prefix==''):break
return prefix
反思:
上一道題給了我有進步的錯覺,被這道題重新打回原形,果然我還是那隻菜雞。