无效的括号

工夫复杂度:O(n),其中 n 是字符串 s 的长度。
空间复杂度:O(n+∣∣),其中 示意字符集,本题中字符串只蕴含 6 种括号,∣∣=6。栈中的字符数量为O(n),而哈希表应用的空间为 O(∣∣),相加即可失去总空间复杂度。
  1. 由题意晓得匹配括号的流程合乎 “ 栈 ” 这种数据结构
  2. 顺次将左括号放入栈
  3. 匹配到右括号则出栈
  4. 遍历完结判断栈是否为空

    var isValid = function (s) { const n = s.length; if (n % 2 === 1) {     return false; } const pairs = new Map([     [')', '('],     [']', '['],     ['}', '{'] ]); const stk = []; for (let ch of s) {     if (pairs.has(ch)) {         if (!stk.length || stk[stk.length - 1] !== pairs.get(ch)) {             return false;         }         stk.pop();     } else {         stk.push(ch);     } }; return !stk.length;};