Skip to content

Commit 956f886

Browse files
author
yoozo
committed
290. 单词规律.
1 parent 1b86abd commit 956f886

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

lib/290_wordPattern.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// 290. 单词规律.
2+
// https://leetcode-cn.com/problems/word-pattern/
3+
4+
/**
5+
* @param {string} pattern
6+
* @param {string} s
7+
* @return {boolean}
8+
*/
9+
var wordPattern = function (pattern, s) {
10+
const pMap = new Map()
11+
for (let i = 0; i < pattern.length; i++) {
12+
const c = pattern[i]
13+
if (pMap.has(c)) {
14+
pMap.get(c).push(i)
15+
} else {
16+
pMap.set(c, [i])
17+
}
18+
}
19+
const sArray = s.split(' ')
20+
if (pattern.length !== sArray.length) {
21+
return false
22+
}
23+
const word = []
24+
for (const item of pMap) {
25+
if (!word.includes(sArray[item[1][0]])) {
26+
word.push(sArray[item[1][0]])
27+
} else {
28+
return false
29+
}
30+
for (let i = 1; i < item[1].length; i++) {
31+
if (sArray[item[1][0]] !== sArray[item[1][i]]) {
32+
return false
33+
}
34+
}
35+
}
36+
return true
37+
};
38+
39+
40+
console.log(wordPattern("abba", "dog dd dd dog"))

0 commit comments

Comments
 (0)