290. Word Pattern
題目:
https://leetcode.com/problems/word-pattern/
難度 : Easy
4.pattern = "abba", str = "dog dog dog dog" should return false.
因為這個的限制,所以中間加了一個loop用來查詢是否這個a對應的已經(jīng)出現(xiàn)過了掘鄙。
不過其實也可以用兩個dictionary來處理宣决,可以O(n^3) -> O(n^2)
class Solution(object):
def wordPattern(self, pattern, str):
"""
:type pattern: str
:type str: str
:rtype: bool
"""
strList = str.split(' ')
if len(pattern) != len(strList):
return False
lookup = {}
for i in range(len(strList)):
if pattern[i] not in lookup:
for key in lookup:
if lookup[key] == strList[i]:
return False
lookup[pattern[i]] = strList[i]
elif lookup[pattern[i]] != strList[i]:
return False
return True
另外看到一段非常簡短代碼侦啸,使用了map函數(shù)蜂奸,有待學習