• 力扣----4. 有效的括号(JavaScript, Java实现)


    题目描述:

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

    有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合。
    2. 左括号必须以正确的顺序闭合。
    注意空字符串可被认为是有效字符串。

    示例 1:

      输入: "()"
      输出: true
    示例 2:

      输入: "()[]{}"
      输出: true
    示例 3:

      输入: "(]"
      输出: false
    示例 4:

      输入: "([)]"
      输出: false
    示例 5:

      输入: "{[]}"
      输出: true

    JavaScript实现:

    /**
     * @param {string} s
     * @return {boolean}
     */
    const isValid = function (s) {
      let res = [];
      for (let i = 0; i < s.length; i++) {
        let letter = s.charAt(i);
        switch (letter) {
          case "(" : {res.push(letter);break;}
          case "{" : {res.push(letter);break;}
          case "[" : {res.push(letter);break;}
          case "]" : {
            if(res.pop() !== "["){
              return false;
            }
            break;
          }
          case "}" : {
            if(res.pop() !== "{"){
              return false;
            }
            break;
          }
          case ")" : {
            if(res.pop() !== "("){
              return false;
            }
            break;
          }
        }
      }
      return !res.length
    };
    var isValid = function(s) {
        let map = {
            '{': '}',
            '(': ')',
            '[': ']'
        }
        let stack = []
        for(let i = 0; i < s.length ; i++) {
            if(map[s[i]]) {
                stack.push(s[i])
            } else if(s[i] !== map[stack.pop()]){
                return false
            }
        }
        return stack.length === 0
    };
    var isValid = function (s) {
        while (s.length) {
            var temp = s;
            s = s.replace('()', '');
            s = s.replace('[]', '');
            s = s.replace('{}', '');
            if (s == temp) return false
        }
        return true;
    };

    Java实现:

    待补充

  • 相关阅读:
    「实战」攻防中钓鱼上线MAC终端
    JAVA审计SQL注入
    使用Netcat实现通信和反弹Shell
    通过Mssql提权的几种姿势
    第三方提权之ServU提权
    使用LCX进行内网端口转发
    Proxifier/ProxyChains+reGeorg组合进行内网代理
    通过Mysql提权的几种姿势
    java:文件与IO
    java:常用类库api
  • 原文地址:https://www.cnblogs.com/manru75/p/13045662.html
Copyright © 2020-2023  润新知