/** * 节点 * @filename: src/data-structure/Trie/TrieNode.ts * @author: Mr Prince * @date: 2022-06-29 16:52:38 */ declare class TrieNode { /** * 单词中包含改字符的个数 */ private includeCount; /** * 以当前字符结尾的字符串个数 */ private endCount; /** * 子节点 */ private children; getEndCount(): number; isLeaf(): boolean; isEndOfWord(): boolean; /** * 添加子节点 */ addChild(character: string): void; /** * 移除指定子节点 */ removeChild(character: string): void; /** * 0 == includeCount 的情况下, 删除子节点 */ tryDeleteChild(character: string): boolean; /** * 获取指定子节点 */ getChild(character: string): TrieNode; /** * 是否包含子节点 */ hasChild(character: string): boolean; /** * 获取所有子节点 */ getChildren(): Map; /** * 包含的子节点的个数 */ childrenCount(): number; /** * 增加通过次数 */ increaseIncludeCount(value?: number): void; /** * 减少包含次数 */ decreaseIncludeCount(value?: number): void; /** * 是否包含任何字符 * 主要是用来处理 '' */ hasIncludeWords(): boolean; /** * 增加以当前字符为结尾的次数 */ increaseEndCount(value?: number): void; /** * 减少以当前字符为结尾的次数 */ decreaseEndCount(value?: number): void; } export default TrieNode;