File tree 2 files changed +33
-1
lines changed
2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change 3
3
* @return {boolean }
4
4
*/
5
5
const isValid = ( str ) => {
6
- let map = new Map ( ) , openStack = [ ] , char = str . split ( "" ) ;
6
+ let char = str . split ( "" ) ;
7
+
8
+ if ( 1 === char . length ) return false ;
9
+
10
+ let map = new Map ( ) , openStack = [ ] ;
7
11
8
12
map . set ( "{" , "}" ) ;
9
13
map . set ( "(" , ")" ) ;
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {string } s
3
+ * @return {boolean }
4
+ */
5
+ const isValid = ( str ) => {
6
+ let char = str . split ( "" ) , map = new Map ( ) , openStack = [ ] ;
7
+
8
+ map . set ( "{" , "}" ) ;
9
+ map . set ( "(" , ")" ) ;
10
+ map . set ( "[" , "]" ) ;
11
+
12
+ for ( let i = 0 ; i < char . length ; i ++ ) {
13
+ let isClosing = [ ")" , "]" , "}" ] . includes ( char [ i ] ) ;
14
+ if ( 0 === openStack . length && isClosing ) return false ;
15
+
16
+ if ( isClosing ) {
17
+ if ( map . get ( openStack [ openStack . length - 1 ] ) === char [ i ] ) {
18
+ openStack . pop ( ) ;
19
+ } else {
20
+ return false ;
21
+ }
22
+ } else {
23
+ openStack . push ( char [ i ] ) ;
24
+ }
25
+ }
26
+
27
+ return 0 === openStack . length ;
28
+ } ;
You can’t perform that action at this time.
0 commit comments