给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循这种模式。
这里的 遵循 指完全匹配,例如在pattern里的每个字母和字符串 str 中的每个非空单词存在双向单映射关系。
例如:
    pattern = "abba", str = "dog cat cat dog", 返回true
    pattern = "abba", str = "dog cat cat fish", 返回false.
    pattern = "aaaa", str = "dog cat cat dog" , 返回false.
    pattern = "abba", str = "dog dog dog dog" , 返回false.
说明:
你可以假设 pattern 只包含小写字母, str 包含了由单个空格分开的小写单词。

详见:https://leetcode.com/problems/word-pattern/description/

class Solution {
public:
bool wordPattern(string pattern, string str) {
unordered_map<char,int> m1;
unordered_map<string,int> m2;
istringstream in(str);
int i=0;
for(string word;in>>word;++i)
{
if(m1.find(pattern[i])!=m1.end()||m2.find(word)!=m2.end())
{
if(m1[pattern[i]]!=m2[word])
{
return false;
}
}
else
{
m1[pattern[i]]=m2[word]=i+1;
}
}
return i==pattern.size();
}
};

参考:https://www.cnblogs.com/grandyang/p/4857022.html

最新文章

  1. Maven环境搭建
  2. MJPhotoBrowser BUG修复
  3. 用DIV+CSS切割多背景合并图片 CSS Sprites 技术
  4. HTML5几种常见的错误写法
  5. UVA 10806 Dijkstra, Dijkstra.(费用流)
  6. AlgorithmsI PA2: Randomized Queues and Deques Subset
  7. C指针
  8. 纯 Swift 封装的 SQLite 框架:SQLite.swift
  9. 实现Unity编辑器模式下的旋转
  10. findViewById(R.id.btn_first) 给写成 R.layout.
  11. [20171221]利用rman实现2台机器文件拷贝.txt
  12. Axure RP Pro 7.0苏宁易购式标签切换效果教程
  13. CentOS -- 添加开机自启动 命令 脚本
  14. springboot xml声明式事务管理方案
  15. MongoDB学习笔记(11)-- Index
  16. 【Django】【六】接口自动化测试框架
  17. 如何用纯 CSS 创作一个单元素抛盒子的 loader
  18. 【原创】请不要对Boost Format使用Byte作为参数
  19. Win10小娜关闭或删除进程
  20. 对django模型中的objects的理解

热门文章

  1. UVA 10006_Carmichael number
  2. spring mvc 访问静态资源404
  3. Android GIS开发系列-- 入门季(7) 利用GeometryEngine坐标转换、计算距离与面积等
  4. 浅谈MySQL load data local infile细节 -- 从源码层面
  5. mysql导出整个数据库
  6. 我和nupt集训队的故事
  7. [Qt总结篇]终端远程升级client
  8. linux 线程同步(二)
  9. hbase shell经常使用命令
  10. redis集群状态信息维护脚本