給定一種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
包含了由單個空格分隔的小寫字母。
試圖將pattern中的字元與str中的字串一一建立起對映。當pattern中的某字元在雜湊表中未存在時,判斷雜湊表中是否有哪個字元的對映等於str的對應位置的字串。如果有則返回false,如果沒有,則將此對映存入雜湊表中;當pattern中的某字元已經存在於雜湊表中時,判斷此字元的對映字串是否等於str中的對應位置的字串,如果不等於則返回false。最後當str遍歷完成,for迴圈結束。此時判斷i如果不等於pattern的大小,說明pattern和str的長度不相等,返回false。此時程式仍未返回,則說明匹配成功,返回true。
class solution
umap[pattern[i]] = str;
}else
} if(i != pattern.size())
return false;
return true;
}};
Leetcode 290 單詞模式
給定一種pattern 模式 和乙個字串str,判斷str是否遵循相同的模式。這裡的遵循指完全匹配,例如,pattern裡的每個字母和字串str中的每個非空單詞之間存在著雙向連線的對應模式。示例1 輸入 pattern abba str dog cat cat dog 輸出 true示例 2 輸入 ...
LeetCode290 單詞模式
給定一種 pattern 模式 和乙個字串 str 判斷 str 是否遵循相同的模式。這裡的遵循指完全匹配,例如,pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應模式。示例1 輸入 pattern abba str dog cat cat dog 輸出 true ...
LeetCode290 單詞模式
一開始我以為,只要乙個hash表,鍵是abcd,值是單詞 1 如果key沒有出現過,那就設定key value 2 如果key有了,那就看value是不是str裡面那個單詞。但是這樣會有乙個問題,value重複 比如 abba dog dog dog dog 是對的 因為a dog b dog 那麼...