題目:
給定一種 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(object):
def wordpattern(self, pattern, str):
""":type pattern: str
:type str: str
:rtype: bool
"""str=str.split()
dict={} #pattern與str一一對應,pattern為key,str為value
lists= #儲存當前字典中的pattern
if len(pattern)!=len(str): #長度不同
return false
for i in range(len(pattern)): #構造字典
if pattern[i] in dict: #key已經在字典中
if str[i]!=dict[pattern[i]]: #判斷value是否相同
return false
else: #key不在字典中
if str[i] in lists: #判斷value是否在字典中
return false
dict[pattern[i]]=str[i] #更新字典
return true
Leetcode 290 單詞模式
給定一種pattern 模式 和乙個字串str,判斷str是否遵循相同的模式。這裡的遵循指完全匹配,例如,pattern裡的每個字母和字串str中的每個非空單詞之間存在著雙向連線的對應模式。示例1 輸入 pattern abba str dog cat cat dog 輸出 true示例 2 輸入 ...
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 ...