235. 單詞模式

給定一種 pattern(模式) 和一個字符串 str ,判斷 str 是否遵循相同的模式。
這里的遵循指完全匹配,例如, pattern 里的每個字母和字符串 str 中的每個非空單詞之間存在著雙向連接的對應模式。

示例1:

輸入: pattern = "abba", str = "dog cat cat dog"
輸出: true

示例 2:

輸入:pattern = "abba", str = "dog cat cat fish"
輸出: false

示例 3:

輸入: pattern = "aaaa", str = "dog cat cat dog"
輸出: false

示例 4:

輸入: pattern = "abba", str = "dog dog dog dog"
輸出: false
說明:
你可以假設 pattern 只包含小寫字母, str 包含了由單個空格分隔的小寫字母。

代碼

class Solution {
public:
    bool wordPattern(string pattern, string str) {
        unordered_map<char, string> m;
        istringstream in(str);
        int i = 0;
        for (string word; in >> word; ++i) {
            if (m.find(pattern[i]) != m.end()) {
                if (m[pattern[i]] != word) return false;
            } else {
                for (unordered_map<char, string>::iterator it = m.begin(); it != m.end(); ++it) {
                    if (it->second == word) return false;
                }
                m[pattern[i]] = word;
            }
        }
        return i == pattern.size();
    }
};
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,869評論 18 139
  • 前言 最先接觸編程的知識是在大學里面,大學里面學了一些基礎的知識,c語言,java語言,單片機的匯編語言等;大學畢...
    oceanfive閱讀 3,125評論 0 7
  • 《恩寵與勇氣》中竟然提到了《奇跡課程》。有種,啊,寫身心靈書的作者們都互相認識啊的一種感覺。 閑來翻看張德芬公眾號...
    奇妙的樹閱讀 211評論 2 1
  • 下班了,來辦公室拿東西,看見同事C還一個人靜靜地趴在桌子前改作業。問她怎么不回去,她回頭微笑著說:“回去一個人也無...
    玲瓏簡書閱讀 749評論 0 1
  • 問題描述: 在一個 220*2 的矩陣 A 中,以行為單位(即每行),行與行之間不存在重復的數據?,F已經得到了矩陣...
    高正杰閱讀 3,292評論 2 2