Leetcode 솔루션: 구현 트리(접두사 트리)

문제는 다음과 같습니다.

트리("try"로 발음) 또는 접두사 트리는 문자열 데이터 세트에서 키를 효율적으로 저장하고 검색하는 데 사용되는 트리 데이터 구조입니다. 자동 완성 및 맞춤법 검사기와 같은 이 데이터 구조의 다양한 응용 프로그램이 있습니다.

Trie 클래스를 구현합니다.

Trie() trie 개체를 초기화합니다.
void insert(String word) 트리에 문자열 word를 삽입합니다.
부울 검색(문자열 단어) 문자열 단어가 트리에 있으면(즉, 이전에 삽입된 경우) 참을 반환하고 그렇지 않으면 거짓을 반환합니다.
boolean startsWith(String prefix) 접두사 접두사가 있는 이전에 삽입된 문자열 단어가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

내 다른 솔루션은 다음과 같습니다.

class Trie(object):

    def __init__(self):
        self.words = []


    def insert(self, word):
        """
        :type word: str
        :rtype: None
        """
        self.words.append(word)


    def search(self, word):
        """
        :type word: str
        :rtype: bool
        """
        for w in self.words:
            if w == word:
                return True
        return False


    def startsWith(self, prefix):
        """
        :type prefix: str
        :rtype: bool
        """
        for w in self.words:
            if w.startswith(prefix):
                return True
        return False




좋은 웹페이지 즐겨찾기