File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
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" ) )
You can’t perform that action at this time.
0 commit comments