营销型网站深度网,做网站接电话一般要会什么问题,网站打开太慢,浏览器打开网址Idea 先建立一个hashmap#xff0c;记录s串中的每个单词以及对应的下标再建立一个hashmap#xff0c;记录pattern串中相同字母以及对应的下标遍历pattern串时#xff0c;遇到不同字母存到pat表中#xff0c;同时将下标对应的s中的单词存入到查重test集中#xff0c;因为如…Idea 先建立一个hashmap记录s串中的每个单词以及对应的下标再建立一个hashmap记录pattern串中相同字母以及对应的下标遍历pattern串时遇到不同字母存到pat表中同时将下标对应的s中的单词存入到查重test集中因为如果输入样例为abba,“dog dog dog dog”无法得出正确答案最后通过比较pattern中有相同字母的位置对应s中出现相同的word即可否则为false AC Code
class Solution {
public:bool wordPattern(string pattern, string s) {unordered_mapchar,int pat;unordered_mapint,string word;int n s.size();int index 0;for(int i 0; i n; i) {string tmp ;while(s[i] ! i n){tmp s[i];i;}word[index] tmp;}if(word.size() ! pattern.size()) return false;unordered_setstring test;for(int i 0; i pattern.size(); i) {if(pat.find(pattern[i]) pat.end()){pat[pattern[i]] i;if(test.find(word[i]) ! test.end()){return false;}test.insert(word[i]);}else {int con1 pat[pattern[i]];int con2 i;if(word[con1] ! word[con2]) return false;if(pattern[con1] ! pattern[con2]) return false;}}return true;}
};