LeetCode Longest Common Prefix


LeetCode解題のLongest Common Prefix
原題
文字列の中で最も長い共通の接頭辞のセットを見つけます.
注意点:
  • 文字列の長さが異なる
  • 文字リストが空であることを考慮する
  • 例:
    入力:str=[「hello」、「heabc」、「hewww」出力:「he」
    問題を解く構想.
    リストの長さが1より大きい場合は、最初の文字列を基準として、それ以前の文字がテーマの要求を満たしていることをポインタで表すことができます.各文字列を遍歴し、ポインタで対応する文字を基準の対応する文字と比較し、異なる場合、前のサブ文字列が要求される結果である.すべてが同じであれば、ポインタは右に移動します.もう1つのケースでは、後続の文字列に最初の文字列長がない可能性があります.ポインタが最短の文字列を超えた場合も終了する必要があります.
    ACソース
    class Solution(object):
        def longestCommonPrefix(self, strs):
            """ :type strs: List[str] :rtype: str """
            if not strs:
                return ""
            longest = strs[0]
            for i in range(len(strs[0])):
                for str in strs:
                    if len(str) <= i or strs[0][i] != str[i]:
                        return strs[0][:i]
            return strs[0]
    
    
    if __name__ == "__main__":
        assert Solution().longestCommonPrefix(["hello", "heabc", "hell"]) == "he"

    私のGithub(https://github.com/gavinfish/LeetCode-Python)を使用して、関連するソースコードを取得します.