Longest Common Prefix python問題解


Longest Common Prefix python問題解
問題の説明:文字列の配列を入力し、これらの文字列の最大接頭辞文字列を出力します.
考え方:まず2つの境界状況を考慮する
  • 文字列配列が空の場合、最終的に空の文字列
  • が出力される.
  • 文字列配列に1つの文字列しかない場合、その文字列を直接出力すれば
  • である.
    その後は一般的に、リスト生成式を用いて配列の中で最も短い文字列の長さを求め、その後配列を列ごとに遍歴(配列を行列と見なす)し始め、その列の文字が同じであれば、最後の結果にその文字を加え、そうでなければ直接戻る
    コードは次のとおりです.
    class Solution:
        # @param {string[]} strs
        # @return {string}
        def longestCommonPrefix(self, strs):
            strlen=len(strs)
            if strlen==0:
                return ''
            if strlen==1:
                return strs[0]
            minLen=min([len(strs[i]) for i in range(strlen)])
            resultString=''
            for j in range(minLen):
                equalNum=0
                for i in range(1,strlen):
                    if strs[0][j]==strs[i][j]:
                        equalNum+=1;
                if equalNum==strlen-1:
                    resultString+=strs[0][j]
                else: return resultString
            return resultString
    

    レンガを投げて玉を引いて、何か分からないところがあったり、もっと良い解法があったりして交流を歓迎します.