@SomeBottle 在 Leetcode每日一题 —— 921. 使括号有效的最少添加 中发帖
思路
因为括号可以在任何地方插入,我们在意的主要就是左括号和右括号分别多出了多少。因此对左括号先进行计数,右括号出现时先抵消左括号,如果左括号抵消完了说明右括号有多的,反之则左括号有多的;如果二者皆为 0 则不需要补充。
代码
class Solution {
public:
int minAddToMakeValid(string s) {
// 注意括号可以在任何位置插入
// 主要就看有多少左括号和右括号没有被抵消
int left = 0, right = 0;
for (char c : s) {
if (c == '(') {
left++;
} else {
if (left > 0)...