https://leetcode-cn.com/problems/minimum-add-to-make-parentheses-valid/
思路:初始v a l valval为0,遇到左括号自增,遇到右括号自减,当v a l < 0 val<0val<0时必须补上其相反数个数的左括号。最后如果v a l > 0 val>0val>0,必须补全相应个数的右括号。
class Solution {
public:
int minAddToMakeValid(string S) {
int ans=0,cnt=0,siz=S.size();
for(int i=0;i<siz;i++){
cnt+=S[i]=='('?1:-1;
if(cnt<0)
ans-=cnt,cnt=0;
}
if(cnt)
ans+=abs(cnt);
return ans;
}
};
版权声明:本文为xiji333原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。