Leetcode第十四題:最長公共前綴

題目:

編寫一個函數來查找字符串數組中的最長公共前綴。

如果不存在公共前綴,返回空字符串 ""。

示例 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

反思:

上一道題給了我有進步的錯覺,被這道題重新打回原形,果然我還是那隻菜雞。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章