博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Word Pattern
阅读量:5774 次
发布时间:2019-06-18

本文共 1537 字,大约阅读时间需要 5 分钟。

Given a pattern and a string str, find if str follows the same pattern.

Examples:

  1. pattern = "abba", str = "dog cat cat dog" should return true.
  2. pattern = "abba", str = "dog cat cat fish" should return false.
  3. pattern = "aaaa", str = "dog cat cat dog" should return false.
  4. pattern = "abba", str = "dog dog dog dog" should return false.

 

Notes:

  1. Both pattern and str contains only lowercase alphabetical letters.
  2. Both pattern and str do not have leading or trailing spaces.
  3. Each word in str is separated by a single space.
  4. Each letter in pattern must map to a word with length that is at least 1.

 

Credits:

Special thanks to  for adding this problem and creating all test cases.

 

1 class Solution { 2 public: 3     bool wordPattern(string pattern, string str) { 4         vector
dic; 5 istringstream sin(str); 6 string tmp; 7 while (sin >> tmp) dic.push_back(tmp); 8 if (dic.size() != pattern.size()) return false; 9 unordered_map
mp1;10 unordered_map
mp2;11 for (int i = 0; i < pattern.size(); ++i) {12 if (mp1.find(pattern[i]) == mp1.end()) {13 mp1[pattern[i]] = dic[i];14 } else if (mp1[pattern[i]] != dic[i]) {15 return false;16 }17 if (mp2.find(dic[i]) == mp2.end()) {18 mp2[dic[i]] = pattern[i];19 } else if (mp2[dic[i]] != pattern[i]) {20 return false;21 }22 }23 return true;24 }25 };

 

转载地址:http://unaux.baihongyu.com/

你可能感兴趣的文章
php加速工具xcache的安装与使用(基于LNMP环境)
查看>>
android超链接
查看>>
redhat tomcat
查看>>
统计数据库大小
查看>>
IO流的学习--文件夹下文件的复制
查看>>
第十六章:脚本化HTTP
查看>>
EXCEL表中如何让数值变成万元或亿元
查看>>
nginx在响应request header时候带下划线的需要开启的选项
查看>>
Linux下DHCP服务器配置
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
我的IDEA配置
查看>>
myeclipse显示行号
查看>>
编写高性能的java程序
查看>>
Spring 的配置详解
查看>>
linux已经不存在惊群现象
查看>>
上位机和底层逻辑的解耦
查看>>
关于微信二次分享 配置标题 描述 图片??
查看>>
springcloud使用zookeeper作为config的配置中心
查看>>
校园火灾Focue-2---》洗手间的一套-》电梯
查看>>
css控制文字换行
查看>>