Leetcode 290. 单词模式

Posted randyniu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 290. 单词模式相关的知识,希望对你有一定的参考价值。

class Solution {
public:
    bool wordPattern(string pattern, string str) {
        map<string, char> word_map;
        char used[128] = {0};
        string word;
        int pos= 0;
        str.push_back( );
        for(int i=0; i<str.size(); ++i)
        {
            if(str[i] ==  )
            {
                //结束条件
                if(pos == pattern.size())
                {
                    return false;
                }
                if(word_map.find(word) == word_map.end())
                {
                    if(used[pattern[pos]])
                        return false;
                    word_map.insert(make_pair(word, pattern[pos]));
                    used[pattern[pos]] = 1;
                }
                else
                {
                    if(word_map[word] != pattern[pos])
                        return false;
                }
                word = "";
                pos++;
            }
            else 
            {
                word += str[i];
            }
        }
        if(pos < pattern.size())
            return false;
        
        return true;
    }
};

 

以上是关于Leetcode 290. 单词模式的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 290 Word Pattern(单词模式)(istringstreamvectormap)(*)

leetcode290

图解 | LeetCode #290 单词规律

java 290.单词模式(#two HashMap).java

java 290.单词模式(#two HashMap).java

java 290.单词模式(#two HashMap).java