leetcode 290 單詞規律

2021-10-12 05:07:04 字數 1814 閱讀 3803

目錄

一、題目內容

二、解題思路

三、**

給定一種規律 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 包含了由單個空格分隔的小寫字母。

兩個dict構成雙向關係,pattern和s裡的元素可互相作為鍵值對進行查詢,如果有乙個dict通過key查詢的value值和當前值不對應則返回false,否則查詢結束返回true。

class solution:

def wordpattern(self, pattern: str, s: str) -> bool:

s_split_list = s.split(' ')

pattern_list = list(pattern)

if len(s_split_list) != len(pattern_list):

return false

s_pattern_dict = {}

pattern_s_dict = {}

for i, j in zip(s_split_list, pattern_list):

if i not in s_pattern_dict:

s_pattern_dict[i] = j

if j not in pattern_s_dict:

pattern_s_dict[j] = i

if s_pattern_dict[i] != j:

return false

if pattern_s_dict[j] != i:

return false

return true

if __name__ == '__main__':

pattern = "aba"

strs = "dog dog dog dog"

s = solution()

ans = s.wordpattern(pattern, strs)

print(ans)

LeetCode 290 單詞規律

給定一種規律 pattern 和乙個字串 str 判斷 str 是否遵循相同的規律。這裡的 遵循 指完全匹配,例如,pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律。示例1 輸入 pattern abba str dog cat cat dog 輸出 true...

leetcode 290 單詞規律

給定一種規律 pattern 和乙個字串 str 判斷 str 是否遵循相同的規律。這裡的 遵循 指完全匹配,例如,pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律。示例1 輸入 pattern abba str dog cat cat dog 輸出 true...

leetcode 290 單詞規律

描述 給定一種規律pattern和乙個字串str,判斷str是否遵循相同的規律。這裡的遵循指完全匹配,例如,pattern裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律。示例1 輸入 pattern abba str dog cat cat dog 輸出 true 示例2 ...