LeetCode:Word Pattern
来源:互联网 发布:幼儿园用的软件 编辑:程序博客网 时间:2024/06/10 04:10
LeetCode:Word Pattern
1、题目:
Given a pattern and a string str, find if str follows the same pattern.
Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.
Examples:
pattern = “abba”, str = “dog cat cat dog” should return true.
pattern = “abba”, str = “dog cat cat fish” should return false.
pattern = “aaaa”, str = “dog cat cat dog” should return false.
pattern = “abba”, str = “dog dog dog dog” should return false.
Notes:
You may assume pattern contains only lowercase letters, and str contains lowercase letters separated by a single space.
2、代码:
一个哈希表的故事,顺带处理字符串。类似于:
Isomorphic Strings(同构字符串)
http://blog.csdn.net/bestzem/article/details/51953658
class Solution {public: bool wordPattern(string pattern, string str) { string hash[26]{}; auto iterp=pattern.begin(),iters=str.begin(); for(auto iter1=iters+1;iterp!=pattern.end()&&iters!=str.end();++iter1) { if((iter1==str.end()||*iter1==' ')&&(hash[*iterp-97].empty())) { string s(iters,iter1); //查找是否已经存在于其他模式 for(int i=0;i<26;++i) { if(hash[i]==s) { return false; } } hash[*iterp-97]=s; if(iter1!=str.end()) iters=iter1+1; else iters=iter1; ++iterp; } else if((iter1==str.end()||*iter1==' ')&&(!hash[*iterp-97].empty())) { //出现了双匹配,错误 if(hash[*iterp-97]!=string(iters,iter1)) return false; if(iter1!=str.end()) iters=iter1+1; else iters=iter1; ++iterp; } } //处理模板与字符串长度不一致 if(iterp!=pattern.end()||iters!=str.end()) return false; return true; }};
0 0
- leetcode | Word Pattern
- 【leetcode】290. Word Pattern
- leetcode 290: Word Pattern
- [Leetcode]Word Pattern
- [leetcode 290]Word Pattern
- LeetCode 290 Word Pattern
- 【leetcode】290. Word Pattern
- [LeetCode 290] Word Pattern
- leetcode 290 Word Pattern
- LeetCode 2 Word Pattern
- leetcode word-pattern
- leetcode: Word Pattern
- leetcode:Word Pattern
- [Leetcode]Word Pattern
- LeetCode Word Pattern
- LeetCode-Word Pattern
- LeetCode:Word Pattern
- leetcode之Word Pattern
- 确定一个字符串的所有字符是否全都不同
- 杭电-2037 今年暑假不AC(sort+结构体+贪心)
- void 的使用方法简介
- 简单错误记录
- Android学习记录-ListView
- LeetCode:Word Pattern
- Asus Xtion Pro Live驱动
- 阻塞赋值与非阻塞赋值
- mysql函数的创建以及hibernate调用mysql自定义函数以及数据对比功能,模仿中关村在线
- 利用photoshop切图
- 两分钟学会在GitHub托管代码
- 常用参考网站
- Milk(sort+结构体) hd 1070
- MySQL 设置数据按条件查询下的序号