File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @param {string } s
3+ * @return {boolean }
4+ */
5+ var isValid = function ( s ) {
6+ const smallBracket = [ '(' , ')' ] ;
7+ const middleBracket = [ '{' , '}' ] ;
8+ const largeBracket = [ '[' , ']' ] ;
9+
10+
11+ const leftStack = [ ] ;
12+
13+ for ( const char of s ) {
14+ if ( char === smallBracket [ 0 ] ) {
15+ leftStack . push ( smallBracket [ 1 ] )
16+ } else if ( char === middleBracket [ 0 ] ) {
17+ leftStack . push ( middleBracket [ 1 ] )
18+ } else if ( char === largeBracket [ 0 ] ) {
19+ leftStack . push ( largeBracket [ 1 ] )
20+ } else {
21+ const last = leftStack . pop ( ) ;
22+ if ( char === smallBracket [ 1 ] && last !== char ) return false ;
23+ if ( char === middleBracket [ 1 ] && last !== char ) return false ;
24+ if ( char === largeBracket [ 1 ] && last !== char ) return false ;
25+ }
26+ }
27+
28+
29+ return leftStack . length === 0
30+ } ;
You can’t perform that action at this time.
0 commit comments