leetcode 290. Word Pattern
来源:互联网 发布:软件工程项目案例 编辑:程序博客网 时间:2024/06/05 05:46
解题思路:
同时遍历pattern和str,观察字符与对应单词的数量是否一直保持一致。
pattern的字母数量与Word的单词数量不一致时,返回false
原题目:
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.
AC解,C++代码,菜鸟一个,请大家多多指正
class Solution {public: bool wordPattern(string pattern, string str) { map<char, vector<string::size_type>> pmap; map<string, vector<string::size_type>> smap; int word_count = 0; string::size_type str_ix = 0; string word; for (string::size_type pix = 0; pix != pattern.size(); pix++) { pmap[pattern[pix]].push_back(pix); word.clear(); while (str_ix != str.size() && str[str_ix] != ' ') { word += str[str_ix]; str_ix++; } smap[word].push_back(word_count); word_count++; if (pmap[pattern[pix]] != smap[word]) { return false; } if (str_ix != str.size()) { str_ix++; } else { break; } } if (str_ix != str.size() || word_count != pattern.size()) { return false; } return true; }};
0 0
- 【leetcode】290. Word Pattern
- 【leetcode】290. Word Pattern
- 290. Word Pattern LeetCode
- Leetcode 290. Word Pattern
- 【LeetCode】290. Word Pattern
- LeetCode-290. Word Pattern
- LeetCode *** 290. Word Pattern
- leetcode 290. Word Pattern
- LeetCode 290. Word Pattern
- LeetCode 290. Word Pattern
- [leetcode] 290. Word Pattern
- 【LeetCode】290. Word Pattern
- LeetCode-290.Word Pattern
- Leetcode 290. Word Pattern
- leetcode:290. Word Pattern
- 290.[Leetcode]Word Pattern
- [Leetcode]290. Word Pattern
- LeetCode 290. Word Pattern
- fatal: remote origin already exists
- PHP中基本数据类型的特点
- Protobuf详解
- C++ 静态成员函数 静态成员变量 常成员函数之前的使用
- 第八周 OJ练习-4
- leetcode 290. Word Pattern
- MySQL SQL语句常用的30个优化技巧
- EventBus_Demo
- 如何用 Telemetry 测试移动 APP H5性能?
- C++生成Bmp图片底层代码
- 1024程序员节,深圳全城寻找程序员
- js数组操作(push,pop,shift,unshift,slice,splice,concat,sort)
- Xshell无法链接Ubuntu 12
- C#设计模式学习笔记-建造者模式