zoukankan      html  css  js  c++  java
  • LeetCode : Word Pattern

    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,string> map;  
        unordered_map<string,char> map2;  
        vector<string> vec;  
        int j=0;  
        for(int i=0;i<str.size();i++){  
            if(str[i]==' '){  
                string tmp =str.substr(j,i-j);  
                vec.push_back(tmp);  
                j=i+1;  
            }  
            if(i==str.size()-1){  
                string tmp =str.substr(j,i-j+1);  
                vec.push_back(tmp);  
            }  
    
        }  
        if(pattern.size()!=vec.size())return false;  
        for(int i=0;i<pattern.size();i++){  
            if(map.find(pattern[i])==map.end()&&map2.find(vec[i])==map2.end()){  
                map.insert(make_pair(pattern[i],vec[i]));  
                map2.insert(make_pair(vec[i],pattern[i]));  
            }  
            else if(map[pattern[i]]!=vec[i]||map2[vec[i]]!=pattern[i])return false;  
    
        }  
    
        return true;  
    
    }  
    
    };  
  • 相关阅读:
    STL源码剖析之_allocate函数
    PAT 1018. Public Bike Management
    PAT 1016. Phone Bills
    PAT 1012. The Best Rank
    PAT 1014. Waiting in Line
    PAT 1026. Table Tennis
    PAT 1017. Queueing at Bank
    STL源码剖析之list的sort函数实现
    吃到鸡蛋好吃,看看是哪只母鸡下的蛋:好用的Sqlite3
    cJSON
  • 原文地址:https://www.cnblogs.com/chankeh/p/6850070.html
Copyright © 2011-2022 走看看