LeetCode-290-單詞規(guī)律

題目描述:給定一種規(guī)律 pattern 和一個字符串 str ,判斷 str 是否遵循相同的規(guī)律。
這里的 遵循 指完全匹配,例如, pattern 里的每個字母和字符串 str 中的每個非空單詞之間存在著雙向連接的對應(yīng)規(guī)律。
示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/word-pattern/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:字符匹配
然后,判斷strList的數(shù)量和pattern的長度是否相同,如果不相同,說明無法遵循規(guī)律,直接返回false。
然后,聲明一個Map即mappings用來存pattern中的字符和strList中單詞的映射關(guān)系,遍歷pattern的字符,具體過程如下:
如果當前字符在mappings的key里面且strList當前的單詞和當前字符在mapping中映射的單詞不相同,則返回false;
如果當前字符不在mappings,如果strList當前的單詞在mappings的values集里面,則返回false;如果strList當前的單詞不在mappings的values集里面,則將當前字符和strList當前的單詞放入mappings中,然后繼續(xù)判斷下一個字符。
最后,如果沒有發(fā)現(xiàn)不匹配的映射關(guān)系,則返回true。
【每日寄語】 只要有心,生活是會開花的。
標簽: