zoukankan      html  css  js  c++  java
  • Leetcode 1249 移除无效的括号

      括号先后成对出现,适合使用栈结构进行处理。

      JAVA :

    public final String minRemoveToMakeValid(String s) {
            if (s == null || s.length() == 0) return "";
            StringBuilder sb = new StringBuilder();
            Stack<Integer> stack = new Stack<Integer>();
            int len = s.length();
            char[] sChar = s.toCharArray();
            for (int i = 0; i < len; i++) {
                if (sChar[i] == '(') stack.push(i);
                else if (sChar[i] == ')') {
                    if (!stack.empty()) stack.pop();
                    else sChar[i] = '-';
                }
            }
            for (Integer prePoint : stack) sChar[prePoint] = '-';
            for (int i = 0; i < len; i++) {
                if (sChar[i] != '-') sb.append(sChar[i]);
            }
            return sb.toString();
        }

      JS:

    var minRemoveToMakeValid = function (s) {
        let stack = [], len = s.length, sChar = s.split('');
        for (let i = 0; i < len; i++) {
            if (sChar[i] == '(') stack.push(i);
            else if (sChar[i] == ')') {
                if (stack.length == 0) sChar[i] = '-';
                else stack.pop();
            }
        }
        for (let i = 0; i < stack.length; i++) sChar[stack[i]] = '-';
        s = sChar.join('');
        s = s.replace(/-/g, '');
        return s;
    };

  • 相关阅读:
    15 手写数字识别-小数据集
    14 深度学习-卷积
    13-垃圾邮件分类2
    12.朴素贝叶斯-垃圾邮件分类
    11.分类与监督学习,朴素贝叶斯分类算法
    9、主成分分析
    7.逻辑回归实践
    8.特征选择,过滤式
    6.逻辑回归
    5.线性回归算法
  • 原文地址:https://www.cnblogs.com/niuyourou/p/14191029.html
Copyright © 2011-2022 走看看