1. 程式人生 > >演算法題2:最長公共字首(python3實現)

演算法題2:最長公共字首(python3實現)

編寫一個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串 ""

示例 1:

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

示例 2:

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

說明:

所有輸入只包含小寫字母 a-z 。

 

def longestCommonPrefix(strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        if strs==[]:
            return ""
        strs.sort(key= lambda x:len(x))
        commstr=strs[0]
        commonlen=len(strs[0])
        exit_flag=False
        for i in range(len(strs)):
            for j in range(commonlen):
                if commstr[:j+1]!=strs[i][:j+1]:
                    commonlen=j
                    print(commonlen)
                    break
        return commstr[:commonlen]