美文网首页程序员
力扣 921 使括号有效的最少添加

力扣 921 使括号有效的最少添加

作者: zhaojinhui | 来源:发表于2020-11-13 03:03 被阅读0次

题意:给一个字符串,找出把字符串变成合法括号所需的最小数目

思路:遍历字符串

  1. 如果是做括号,那么left++
  2. 如果是右括号,如果左括号不为空,做括号--,否则right++
  3. 如果是其他字符跳过
  4. 返回right+left

思想:字符串的组合

复杂度:时间O(n),空间O(1)

class Solution {
    public int minAddToMakeValid(String S) {
        int left = 0;
        int right = 0;
        int res = 0;
        for(int i=0;i<S.length();i++) {
            char cur = S.charAt(i);
            if(cur == '(') {
                left++;
            } else if(cur == ')'){
                if(left > 0) {
                    left--;
                } else {
                    right++;
                }
            }
        }
        
        
        return left + right;
    }
}

相关文章

网友评论

    本文标题:力扣 921 使括号有效的最少添加

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