当前位置: 首页 > news >正文

211. 添加与搜索单词 - 数据结构设计

211. 添加与搜索单词 - 数据结构设计

class WordDictionary {
public:struct Node{Node *node[26];bool is_end;Node(){is_end=false;for(int i=0;i< 26;i++){node[i]=NULL;}}};Node *root;WordDictionary() {root =new Node();}void addWord(string word) {auto p = root;for(auto  c : word){int i = c -'a';if(!p->node[i]) p->node[i] =new Node();p=p->node[i];}p->is_end =true;}bool search(string word) {return dfs(root,word,0);}bool dfs(Node * root ,string & s ,int i){if(i == s.size()) return root->is_end;if(s[i]!='.'){int n = s[i] - 'a';if(!root->node[n]) return false;return dfs(root ->node[n] , s, 1+i);}else{for(int j=0 ;j < 26;j++){if(root->node[j] &&dfs(root ->node[j] , s, 1+i)) return true;}return false;}}
};/*** Your WordDictionary object will be instantiated and called as such:* WordDictionary* obj = new WordDictionary();* obj->addWord(word);* bool param_2 = obj->search(word);*/
http://www.lryc.cn/news/162851.html

相关文章:

  • 【深度学习】You Only Segment Once: Towards Real-Time Panoptic Segmentation,YOSO全景分割
  • ping与Traceroute是如何工作的
  • CentOS Python环境搭建
  • 亚马逊云科技与伊克罗德推出AI绘画解决方案——imAgine
  • 机器学习课后习题 --- 逻辑回归
  • 软件设计师学习笔记9-进程调度
  • 09:STM32-------USART串口通信+串口数据包
  • “安全即服务”为网络安全推开一道门
  • vue3的生命周期
  • [E2E Test] Python Behave Selenium 一文学会自动化测试
  • Knowledge Graph Prompting for Multi-Document Question Answering
  • ElMessageBox.prompt 点击确认校验成功后关闭
  • 调整Windows11桌面图标间隔
  • Spring最佳实践: 构建高效可维护的Java应用程序
  • stable diffusion webui中的sampler
  • MySQL表的内连和外连
  • StatefulSets In K8s
  • leetcode刷题笔记——单调栈
  • 关于 ogbg-molhi数据集的个人解析
  • RabbitMQ:hello结构
  • SpringBoot整合Redis 并 展示使用方法
  • js中如何实现字符串去重?
  • Axure RP仿QQ音乐app高保真原型图交互模板源文件
  • 2023牛客暑假多校第四场(补题向题解:J)
  • 第 362 场 LeetCode 周赛题解
  • C++ if 语句
  • 业务安全及实战案例
  • 十一)Stable Diffussion使用教程:人物三视图
  • 超级等级福利礼包
  • 如何用Jmeter提取和引用Token