給定一種pattern(模式)
和乙個字串str
,判斷str
是否遵循相同的模式。
這裡的遵循指完全匹配,例如,pattern
裡的每個字母和字串str
中的每個非空單詞之間存在著雙向連線的對應模式。
示例1:
輸入:pattern =示例 2:"abba"
, str ="dog cat cat dog"
輸出:true
輸入:pattern =示例 3:"abba"
, str ="dog cat cat fish"
輸出:false
輸入:pattern =示例 4:"aaaa"
, str ="dog cat cat dog"
輸出:false
輸入:pattern =說明:"abba"
, str ="dog dog dog dog"
輸出:false
你可以假設pattern
只包含小寫字母,str
包含了由單個空格分隔的小寫字母。
這裡對第二個單詞字串需要分割,使用python中的split函式非常容易實現。後面的操作就是hash操作。這裡用python可以如下實現
class solution:
def wordpattern(self, pattern: 'str', str: 'str') -> 'bool':
s1 = str.split()
if len(pattern)!=len(s1):
return false
if len(set(zip(list(pattern),s1)))==len(set(s1))==len(set(pattern)):
return true
return false
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 那麼...