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

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

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. patterncontains only lowercase alphabetical letters, and str contains words separated by a single space. Each word in str contains only lowercase alphabetical letters.
  2. Both pattern and str do not have leading or trailing spaces.
  3. Each letter in pattern must map to a word with length that is at least 1.

Runtime: 0ms

 

1 class Solution { 2 public: 3     bool wordPattern(string pattern, string str) { 4         if(pattern.empty() && str.empty()) return true; 5         if(pattern.empty() || str.empty()) return false; 6          7         unordered_map
p2s; 8 unordered_map
s2p; 9 10 vector
vec;11 int start = 0, end = 0;12 while(end < str.size()){13 while(end < str.size() && str[end] != ' ')14 end++;15 vec.push_back(str.substr(start, end - start));16 start = end + 1;17 end = start;18 }19 20 if(pattern.length() != vec.size()) return false;21 22 for(int i = 0; i < pattern.size(); i++){23 if(p2s.find(pattern[i]) == p2s.end())24 p2s[pattern[i]] = vec[i];25 else26 if(p2s[pattern[i]] != vec[i]) return false;27 28 if(s2p.find(vec[i]) == s2p.end())29 s2p[vec[i]] = pattern[i];30 else31 if(s2p[vec[i]] != pattern[i]) return false;32 }33 return true;34 }35 };

 

转载于:https://www.cnblogs.com/amazingzoe/p/4859490.html

你可能感兴趣的文章
判断是否为空然后赋值
查看>>
zabbix监控日志文件
查看>>
正则表达式
查看>>
pip install torch on windows, and the 'from torch._C import * ImportError: DLL load failed:' s...
查看>>
java基础(一):我对java的三个环境变量的简单理解和配置
查看>>
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>
YTU 2625: B 构造函数和析构函数
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
查看>>
jenkins搭建
查看>>
C#中使用Split分隔字符串的技巧
查看>>
eclipse的调试方法的简单介绍
查看>>
加固linux
查看>>
IPSP问题
查看>>
10.17动手动脑
查看>>
WPF中Image显示本地图片
查看>>
Windows Phone 7你不知道的8件事
查看>>
实用拜占庭容错算法PBFT
查看>>
java的二叉树树一层层输出,Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历...
查看>>
php仿阿里巴巴,php实现的仿阿里巴巴实现同类产品翻页
查看>>