Leetcode Word Pattern
来源:互联网 发布:亚信数据裁员风波 编辑:程序博客网 时间:2024/06/06 14:03
Leetcode Word Pattern ,本算法关键在于使用map进行双向映射,相关cpp代码如下:
#include<iostream>#include<vector>#include<map>#include<string>using namespace std;class solution {public: bool wordpattern(string pattern, string str) { // pattern to element reflection map<char, string> patternmap; // element to pattern reflection map<string, char> elementmap; vector<string> elements; splitstring(elements, str); if (elements.size() != pattern.length()) { return false; } for (int i = 0; i < elements.size(); i ++) { if (patternmap.find(pattern[i]) == patternmap.end() && \ elementmap.find(elements[i]) == elementmap.end()) { patternmap[pattern[i]] = elements[i]; elementmap[elements[i]] = pattern[i]; } else if (patternmap.find(pattern[i]) == patternmap.end() || \ elementmap.find(elements[i]) == elementmap.end()) { return false; } if (patternmap[pattern[i]] != elements[i]) { return false; } } return true; } void splitstring(vector<string> &ele, string str) { int pre = 0; int end = 0; while (end < str.length()) { if (str[end] == ' ') { ele.push_back(str.substr(pre, end - pre)); pre = end + 1; } end ++; } if (pre != end) { ele.push_back(str.substr(pre, end - pre)); } }};int main(int argc, char* argv[]) { Solution so; bool re = so.wordPattern(argv[1], argv[2]); cout<<"result: "<<re<<endl; return 0;}
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
- mysql 1064 USING BTREE问题
- 3,在同一个xcode工程里面创建多个项目
- HDU 5130 Signal Interference(圆与多边形交的面积)
- 剑指offer之5 重建二叉树
- 蓝懿ios 技术内容和心得交流分享 11.7
- Leetcode Word Pattern
- hdu2002
- iOS开发Xcode7真机调试教程
- 什么是专业精神
- MAC下LaTex环境配置
- javax.persistence.Table.indexes()[Ljavax/persistence/Index;
- 被误解的MVC和被神化的MVVM
- [深入理解Java虚拟机]第十二章 Java内存模型与线程-Java与线程
- The Diamond Model