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 };