找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2910|回复: 0

[代码与实例] Lintcode473 Add and Search Word solution 题解

15

主题

15

帖子

15

积分

贫民

积分
15
Jenny 发表于 2018-6-18 08:26:22 | 显示全部楼层 |阅读模式
【题目描述】
Design a data structure that supports the following two operati**: addWord(word)and search(word)
search(word) can search a literal word or a regular expression string containing only letters a-z or ..
A . means it can represent any one letter.
Notice
You may assume that all words are c**ist of lowercase letters a-z.
设计一个包含下面两个操作的数据结构:addWord(word), search(word)
addWord(word)会在数据结构中添加一个单词。而search(word)则支持普通的单词查询或是只包含.和a-z的简易正则表达式的查询。
一个 . 可以代表一个任何的字母。
注意事项
你可以假设所有的单词都只包含小写字母 a-z。

【题目解析】
题目要我们建立一个数据结构,称为WordDictionary,它有两个功能:
1、能够实现能向其中添加词语
2、能够进行查找。输入一个词语,其中的任何字母可以用.符号来代替,如果在WordDictionary中有这个词语的话,就返回true,否则返回false。
由此看来这个问题主要是一个字符串模式匹配的问题。首先,我们可以建立一个元素为字符串的向量来存储单词。然后,每次新增添一个单词,就把它push到这个向量里。最后,只要写一个字符串匹配的函数,用来搜索字符串就好了。当然,按照题目的要求,这个匹配函数要把目标单词中的.都当成是匹配的。

         
        
   
                          






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表