day74(2.2)——leetcode面试经典150

208. 实现 Trie (前缀树)

208. 实现Trie(前缀树)

又是一个自己建类去实现 但是真的挺神奇的

题目:

题解:

java 复制代码
class TrieNode {
    Map<Character, TrieNode> children = new HashMap<>();
    boolean isEnd = false; // 标记是否为完整单词
}

class Trie {
    private TrieNode root;

    public Trie() {
        root = new TrieNode();
    }

    public void insert(String word) {
        TrieNode node = root;
        for (char c : word.toCharArray()) {
            node.children.putIfAbsent(c, new TrieNode());
            node = node.children.get(c);
        }
        node.isEnd = true; // 标记结束
    }

    public boolean search(String word) {
        TrieNode node = find(word);
        return node != null && node.isEnd; // 必须是完整单词
    }

    public boolean startsWith(String prefix) {
        return find(prefix) != null; // 只要前缀存在即可
    }

    private TrieNode find(String prefix) {
        TrieNode node = root;
        for (char c : prefix.toCharArray()) {
            if (!node.children.containsKey(c)) {
                return null;
            }
            node = node.children.get(c);
        }
        return node;
    }
}
相关推荐
程序员雷欧1 天前
大厂计算机网络面试高频题
计算机网络·面试·职场和发展
JAVA学习通1 天前
美团AI面试 实习一面面经
面试·职场和发展
卷帘依旧1 天前
怎么保证AI生成的代码是符合预期的
面试
卷帘依旧1 天前
RAG(Retrieval-Augmented Generation)完全指南(deepseek生成)
面试
卷帘依旧1 天前
知识切分与维护相关知识介绍
面试
卷帘依旧1 天前
RAG 的设计问题与局限性分析
面试
小为资料库1 天前
2026年5月16日教资面试真题汇总(中小幼各科全)
面试·职场和发展
卷帘依旧1 天前
模式驱动开发(SSD)
面试
星辰_mya1 天前
彩云之上——[特殊字符]的架构师
java·后端·微服务·面试·架构
BING_Algorithm1 天前
深入理解JVM垃圾回收
jvm·后端·面试