zoukankan      html  css  js  c++  java
  • Python字典树实现

    class Trie:
    # word_end = -1

    def __init__(self):
    """
    Initialize your data structure here.
    """
    self.root = {}
    self.word_end = -1

    def insert(self, word):
    """
    Inserts a word into the trie.
    :type word: str
    :rtype: void
    """
    curNode = self.root
    for c in word:
    if not c in curNode:
    curNode[c] = {}
    curNode = curNode[c]

    curNode[self.word_end] = True

    def search(self, word):
    """
    Returns if the word is in the trie.
    :type word: str
    :rtype: bool
    """
    curNode = self.root
    for c in word:
    if not c in curNode:
    return False
    curNode = curNode[c]

    # Doesn't end here
    if self.word_end not in curNode:
    return False

    return True

    def startsWith(self, prefix):
    """
    Returns if there is any word in the trie that starts with the given prefix.
    :type prefix: str
    :rtype: bool
    """
    curNode = self.root
    for c in prefix:
    if not c in curNode:
    return False
    curNode = curNode[c]

    return True


    # Your Trie object will be instantiated and called as such:
    # obj = Trie()
    # obj.insert(word)
    # param_2 = obj.search(word)
    # param_3 = obj.startsWith(prefix)
    ---------------------

    原文:https://blog.csdn.net/ANNILingMo/article/details/80879910

  • 相关阅读:
    jquery总结
    Reporting Services子报表
    Reporting Services分组及Toggle
    Reporting Services报表钻取
    Reporting Services环境
    两种很有用的组件
    Reporting Services正确显示页码
    Reporting Services发布
    Java面试题
    BigInteger引申的一个访问权限控制解决方案
  • 原文地址:https://www.cnblogs.com/zhaohuanhuan/p/10676804.html
Copyright © 2011-2022 走看看