美文网首页
前缀树

前缀树

作者: futurehau | 来源:发表于2016-08-14 20:48 被阅读270次

题目

给定一个字符串数组,其中不含有重复字符串,判断是否有字符串是另一个字符串的前缀

思路

实现前缀树即可,判断是否是前缀树要么就是我一直在别人的路上走,要么就是我还没走完,遇到了别人的结尾。

代码

import java.util.HashMap;

public class Solution{
    public boolean hasPrefix(String[] strs){
        Tries tries=new Tries();
        for(String str:strs){
            if(tries.AddAndCheck(str.toCharArray(),0))
                return true;
        }
        return false;
    }
}
class Tries {
    HashMap<Character,Tries> children=new HashMap<Character, Tries>();
    boolean end=false;
    public boolean AddAndCheck(char[] chars,int i){
        if(end)
            return true;
        if(i==chars.length){
            end=true;
            return !children.isEmpty();
        }
        if(!children.containsKey(chars[i])){
            children.put(chars[i],new Tries());
        }
        return children.get(chars[i]).AddAndCheck(chars,i+1);
    }
}


相关文章

  • 前缀树(字典树/Trie)Java实现和应用

    摘要: 前缀树,字典树,插入查询逻辑,Java实现,时间复杂度分析 前缀树介绍 Trie树又被称为前缀树、字典树,...

  • 数据结构基础--前缀树&&后缀树

    本文只是自己的笔记,并不具备过多的指导意义。 前缀树 何为前缀树 前缀树又名字典树,单词查找树,Trie树,是一种...

  • 前缀树

    前缀树又名Tries树、字典树、单词查找树等,常用于快速检索,大量字符串的排序和统计等。 三个基本性质 根节点不包...

  • 前缀树

    前缀树原理

  • 前缀树

    概念: 简述:又名单词查找树,tries树,一种多路树形结构,常用来操作字符串(但不限于字符串),和hash效率有...

  • 前缀树

    题目 给定一个字符串数组,其中不含有重复字符串,判断是否有字符串是另一个字符串的前缀 思路 实现前缀树即可,判断是...

  • 前缀树

    1.什么是前缀树 前缀树是N叉树的一种特殊形式。通常来说,一个前缀树是用来存储字符串的。前缀树的每一个节点代表一个...

  • 前缀树

    最近看代码,发现了一个敏感词检测是用前缀树写的,看起来速度蛮快,毕竟是拿空间换时间,LOG倍速。但是缺点也很明显,...

  • 前缀树

  • 前缀树

    问题 已知一个字符串数组words=['accommodate','accompany','accord','ac...

网友评论

      本文标题:前缀树

      本文链接:https://www.haomeiwen.com/subject/grnysttx.html