- Minimum Add to Make Parentheses ValidGiven a string S of ‘(’ and ‘)’ parentheses, we add the minimum number of parentheses ( ‘(’ or ‘)’, and in any positions ) so that the resulting parentheses string is valid.Formally, a parentheses string is valid if and only if:It is the empty string, orIt can be written as AB (A concatenated with B), where A and B are valid strings, orIt can be written as (A), where A is a valid string.Given a parentheses string, return the minimum number of parentheses we must add to make the resulting string valid.Example 1:Input: “())“Output: 1Example 2:Input: “(((“Output: 3Example 3:Input: “()“Output: 0Example 4:Input: “()))((“Output: 4Note:S.length <= 1000S only consists of ‘(’ and ‘)’ characters.题目地址这是栈的经典应用java代码class Solution { public int minAddToMakeValid(String S) { Stack<Character> stack = new Stack<>(); char[] c = S.toCharArray(); for(int i=0;i<c.length;i++){ if(c[i]==’)’ && !stack.empty() && stack.peek()==’(’){ stack.pop(); }else{ stack.push(c[i]); } } return stack.size(); }}