Word Pattern
来源:互联网 发布:藏族怎么看中国知乎 编辑:程序博客网 时间:2024/04/28 02:58
c++
class Solution {public: bool wordPattern(string pattern, string str) { if (pattern.empty() && str.empty()) return true; if (pattern.empty() || str.empty()) return false; map<char, string> dict; set<string> cache; vector<string> listStr = splitString(str); if (pattern.size() != listStr.size()) return false; for (size_t i = 0; i < pattern.size(); ++i) { if (dict.find(pattern[i]) == dict.end()) { dict[pattern[i]] = listStr[i]; } else { if (dict[pattern[i]] != listStr[i]) return false; } cache.insert(listStr[i]); } if (cache.size() != dict.size()) return false; return true; }private: vector<string> splitString(const string &str) { string buf; stringstream ss(str); vector<string> tokens; while (ss >> buf) tokens.push_back(buf); return tokens; }};
python
class Solution(object): def wordPattern(self, pattern, str): """ :type pattern: str :type str: str :rtype: bool """ pattern = list(pattern) str = str.split(' ') if len(pattern) != len(str): return False if len(set(pattern)) != len(set(str)): return False dict = {} for i in xrange(len(pattern)): if dict.get(pattern[i], 'N/A') == 'N/A': dict[pattern[i]] = str[i] else: if dict[pattern[i]] != str[i]: return False return True
0 0
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- word pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- Word Pattern
- [LeetCode][8]String to Integer (atoi)解析与模仿Java源码实现 -Java实现
- 开源C++函数库Boost内存池使用与测试
- 利用homebrew 下载android idk
- poj3045.cpp
- 重读COM技术内幕(inside com)有感
- Word Pattern
- Qt Quick 准确的移动平台屏幕适配
- Centos7 LAMP环境搭建
- axis2 webservice 调用的三种方式
- 循环矩阵傅里叶对角化
- query的DOM操作
- 【Linux】引导扇区(boot sector)的结构
- 单链表排序之冒泡排序
- CodeForces 673 A Bear and Game