20. 有效的括号

思路:

这题没啥好说的,用栈模拟就行了,记得最后判断一下栈是不是空的。

代码:

 1 /**
 2              * @param {string} s
 3              * @return {boolean}
 4              */
 5             var isValid = function(s) {
 6                 let couple_dic = {
 7                     '[': ']',
 8                     '(': ')',
 9                     '{': '}'
10                 };
11                 let stack = [];
12                 for(let i = 0; i < s.length; i++){
13                     if(couple_dic.hasOwnProperty(s.charAt(i))){
14                         stack.push(s.charAt(i));
15                     }else {
16                         if (stack.length < 1) {
17                             return false;
18                         }
19                         let topStack = stack.pop();
20                         if (couple_dic[topStack] !== s.charAt(i)) {
21                             return false;
22                         }
23                     }
24                 }
25                 return stack.length === 0;
26             };

 

posted @ 2022-04-06 13:29  BJFU-VTH  阅读(19)  评论(0编辑  收藏  举报