美文网首页
2021-05-31leetcode 20题 给定一个只包括 '

2021-05-31leetcode 20题 给定一个只包括 '

作者: alanwhy | 来源:发表于2021-05-31 11:24 被阅读0次

    题源

    百度技术二面

    题目

    给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

    有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合。
    2. 左括号必须以正确的顺序闭合。

    解答

    const isValid = function (s) {
      if (s.length % 2 == 1) return false;
    
      let stack = [];
      for (let i = 0; i < s.length; i++) {
        const strItem = s[i];
        if (strItem === '{' || strItem === '[' || strItem === '(') {
          stack.push(strItem);
        } else {
          if (stack.length === 0) return false;
          const item = stack[stack.length - 1];
          if (item === '{' && strItem === '}' || item === '[' && strItem === ']' || item == '(' && strItem == ')') {
            stack.pop();
          } else {
            return false;
          }
        }
      }
      return stack.length === 0;
    };
    
    console.log(isValid('{}'));
    

    相关文章

      网友评论

          本文标题:2021-05-31leetcode 20题 给定一个只包括 '

          本文链接:https://www.haomeiwen.com/subject/bgavsltx.html