LeetCode Longest Common Prefix
LeetCode解題のLongest Common Prefix
原題
文字列の中で最も長い共通の接頭辞のセットを見つけます.
注意点:文字列の長さが異なる 文字リストが空であることを考慮する 例:
入力:str=[「hello」、「heabc」、「hewww」出力:「he」
問題を解く構想.
リストの長さが1より大きい場合は、最初の文字列を基準として、それ以前の文字がテーマの要求を満たしていることをポインタで表すことができます.各文字列を遍歴し、ポインタで対応する文字を基準の対応する文字と比較し、異なる場合、前のサブ文字列が要求される結果である.すべてが同じであれば、ポインタは右に移動します.もう1つのケースでは、後続の文字列に最初の文字列長がない可能性があります.ポインタが最短の文字列を超えた場合も終了する必要があります.
ACソース
私のGithub(https://github.com/gavinfish/LeetCode-Python)を使用して、関連するソースコードを取得します.
原題
文字列の中で最も長い共通の接頭辞のセットを見つけます.
注意点:
入力: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)を使用して、関連するソースコードを取得します.