290. 單詞規(guī)律

給定一種規(guī)律 pattern 和一個(gè)字符串 str ,判斷 str 是否遵循相同的規(guī)律壹士。

這里的 遵循 指完全匹配筑公,例如颓鲜, pattern 里的每個(gè)字母和字符串 str 中的每個(gè)非空單詞之間存在著雙向連接的對(duì)應(yīng)規(guī)律一铅。

示例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
說(shuō)明:
你可以假設(shè) pattern 只包含小寫(xiě)字母陕贮, str 包含了由單個(gè)空格分隔的小寫(xiě)字母。

本題其實(shí)不算什么難題馅闽,我也沒(méi)用用什么巧妙的辦法飘蚯,就是建立兩個(gè)哈希表馍迄,每次遍歷到一個(gè)單詞和一個(gè)字母福也,就建立雙方的映射關(guān)系,當(dāng)遍歷到已經(jīng)存在映射關(guān)系但是不相等的時(shí)候就是false攀圈,此外本題要注意暴凑,字母可能比字符串少,或者字符串比字母少赘来,需要做額外判斷现喳。
代碼如下:

class Solution {
    public boolean wordPattern(String pattern, String str) {
        
        HashMap <Character,String> map1 = new HashMap<>();
        HashMap <String,Character> map2 = new HashMap<>();
        int j = 0;
        for (int i = 0; i < pattern.length(); i++){
            char ch = pattern.charAt(i);
            int temp = j;
            while (j < str.length() && str.charAt(j) != ' ') j++;
            if (temp == j) return false;
            String s = str.substring(temp,j);
            if (map1.containsKey(ch)){
                if ( !s.equals(map1.get(ch))){
                    return false;
                }
            }
            if (map2.containsKey(s)){
                if ( ch != map2.get(s)){
                    return false;
                }
            }
            map1.put(ch,s);
            map2.put(s,ch);
            j++;
        }
        if (j >= str.length()) 
        return true;
        else 
        return false;


    }
}

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/word-pattern
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有凯傲。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處嗦篱。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末冰单,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子灸促,更是在濱河造成了極大的恐慌诫欠,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浴栽,死亡現(xiàn)場(chǎng)離奇詭異荒叼,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)典鸡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門被廓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人萝玷,你說(shuō)我怎么就攤上這事嫁乘。” “怎么了间护?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵亦渗,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我汁尺,道長(zhǎng)法精,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任痴突,我火速辦了婚禮搂蜓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辽装。我一直安慰自己帮碰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布拾积。 她就那樣靜靜地躺著殉挽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拓巧。 梳的紋絲不亂的頭發(fā)上斯碌,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音肛度,去河邊找鬼傻唾。 笑死,一個(gè)胖子當(dāng)著我的面吹牛承耿,可吹牛的內(nèi)容都是我干的冠骄。 我是一名探鬼主播伪煤,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼凛辣!你這毒婦竟也來(lái)了抱既?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扁誓,失蹤者是張志新(化名)和其女友劉穎蝙砌,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體跋理,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡择克,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了前普。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肚邢。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拭卿,靈堂內(nèi)的尸體忽然破棺而出骡湖,到底是詐尸還是另有隱情,我是刑警寧澤峻厚,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布响蕴,位于F島的核電站,受9級(jí)特大地震影響惠桃,放射性物質(zhì)發(fā)生泄漏浦夷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一辜王、第九天 我趴在偏房一處隱蔽的房頂上張望劈狐。 院中可真熱鬧,春花似錦呐馆、人聲如沸肥缔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)续膳。三九已至,卻和暖如春收班,著一層夾襖步出監(jiān)牢的瞬間坟岔,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工闺阱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炮车,地道東北人舵变。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓酣溃,卻偏偏與公主長(zhǎng)得像瘦穆,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赊豌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345