290. Word Pattern
来源:互联网 发布:psp 经典游戏 知乎 编辑:程序博客网 时间:2024/06/09 16:34
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.
思路:统一转换成中间的一种模型,进行匹配。
class Solution {public:bool wordPattern(string pattern, string str) {if (pattern.empty() && str.empty())return true;map<string, char> mymap;char* str_char = new char[str.size()];strcpy(str_char, str.c_str());char* p = strtok(str_char, " ");int index = 0;string str_tmp;while (p != NULL){string b(p);if (mymap.insert(pair<string, char>(b, 'a' + index)).second){str_tmp += ('a' + index);index++;}else{str_tmp += mymap[b];}p = strtok(NULL, " ");}string pattern_tmp = getIsomorphic(pattern);return !pattern_tmp.compare(str_tmp);}string getIsomorphic(string s){string s_num="";map<char, char> myMap;int val = 0;for (int i = 0; i < s.size(); i++){char ch = s[i];if (myMap.insert(pair<char, char>(ch, val+'a')).second){s_num += (val+'a');val++;}else{s_num += myMap[ch];}}return s_num;}};
0 0
- 【leetcode】290. Word Pattern
- 【leetcode】290. Word Pattern
- 290. Word Pattern
- 290. Word Pattern
- 290. Word Pattern
- 290. Word Pattern
- 290. Word Pattern LeetCode
- 290. Word Pattern
- 290. Word Pattern
- 290. Word Pattern
- 290. Word Pattern
- 290. Word Pattern
- Leetcode 290. Word Pattern
- 290. Word Pattern
- 【LeetCode】290. Word Pattern
- 290. Word Pattern
- LeetCode-290. Word Pattern
- LeetCode *** 290. Word Pattern
- java模式之单例模式
- Nginx探索一
- 链接hadoop作业
- 继承关系存储树状结构数据--查询优化
- JVM中的垃圾回收
- 290. Word Pattern
- ccArrayRemoveAllObjects
- android框架之XUtils
- VR延迟优化
- FEC之我见三
- 献给和我合作的过得前端童靴们:jquery源码分析--序2
- 关于Davlik解释器的一些思考
- 写博客最初的动力是吐槽小米
- Floyd hdu1385