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;
    }
}
相关推荐
CoderYanger1 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)
java·数据库·spring·面试·职场和发展·java-ee·mybatis
Rain的Java大神之路3 小时前
公交App上“还有2站,约5分钟”怎么实现?90%的人答错这道大厂面试题:GPS漂移、ETA不准、10万QPS热点读全拆透(附完整代码)
java·后端·面试
利威尔xu4 小时前
2026-11-05-Go内存管理面试
面试·golang
aZhe的全栈知识分享17 小时前
AI 还原 Figma 效果总达不到预期?先别急着让它写代码
前端·后端·面试
Fuyo_111919 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
IT规划师20 小时前
一文讲透五种发布机制:滚动、蓝绿、金丝雀、红黑与 AB
后端·面试
lsc_blog1 天前
年底还在招的岗位,先确认缺口和到岗要求
git·缓存·ci/cd·职场和发展·github
ZhengEnCi1 天前
工科读研真的能抗学历贬值吗:研究生 vs 本科生的真实差距与选型判断
面试
Rain的Java大神之路1 天前
国家数据集团校招、社招都开了:总部雄安,这些技术岗值得认真看看
java·后端·面试
Moment1 天前
为什么这么多 Agent Harness 都选择 TypeScript
前端·后端·面试