問題描述:
給定一種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
包含了由單個空格分隔的小寫字母。
方法1:
1class
solution(object):
2def
wordpattern(self, pattern, str):
3"""
4:type pattern: str
5:type str: str
6:rtype: bool
7"""
8 strtolist =str.split()
9if len(set(pattern)) != len(set(strtolist)) or len(pattern) !=len(strtolist) :
10return
false
11 dic ={}
12for i,val in
enumerate(pattern):
13if val in
dic:
14if strtolist[i] !=dic[val]:
15return
false
16else
:17 dic[val] =strtolist[i]
18return true
官方:
1class
solution(object):
2def
wordpattern(self, pattern, str):
3"""
4:type pattern: str
5:type str: str
6:rtype: bool
7"""
8 strlist =str.split()910
if len(pattern) !=len(strlist):
11return
false
12return (len(set(pattern))) == (len(set(strlist))) == (len(set(zip(pattern, strlist))))
2018-09-25 18:51:41
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 ...