LeetCode14.Python最長公共前綴最簡單的方法

題目描述:

編寫一個函數來查找字符串數組中的最長公共前綴。若是不存在公共前綴,返回空字符串 ""。全部輸入只包含小寫字母 a-z python

示例1:數組

輸入: ["flower","flow","flight"]
輸出: "fl"

示例2:函數

輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。

解決辦法:

在Python裏字符串是能夠比較的,其規則按照ascII值排序,好比"abb"、"aba"、"abac",最大爲abb,最小爲aba。因此只須要比較最大最小的公共前綴就是整個字符數組的公共前綴。code

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        
        if not strs:return ""
        
        min_str = min(strs)
        max_str = max(strs)
        for i, c in enumerate(min_str):
            if c != max_str[i]:
                return max_str[:i]
        return min_str