Leetcode 290. Word Pattern (Easy) (cpp)

来源:互联网 发布:采集数据犯法吗 编辑:程序博客网 时间:2024/05/20 23:03

Leetcode 290. Word Pattern (Easy) (cpp)

Tag: Hash Table

Difficulty: Easy


/*290. Word Pattern (Easy)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) {        unordered_map<char,int> mappingchar;        unordered_map<string,int> mappingstr;        string strs;        int index = 0;        istringstream in(str);        while(in>>strs){            if(index < pattern.length()){                if(mappingchar[pattern[index]]!=mappingstr[strs]) {                    return false;                }                mappingchar[pattern[index]] = mappingstr[strs] = index + 1;            }            index++;        }        return index == pattern.length();    }};


0 0
原创粉丝点击