1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class Solution { public: int minInsertions(string s) { int res = 0, stk = 0; for (int n = size(s), i = 0; i < n; ++i) { if (s[i] == '(') { stk += 2; } else if (i + 1 < n && s.substr(i, 2) == "))") { if (stk == 0) { ++res; } else { stk -= 2; } ++i; } else { ++res; if (stk == 0) { ++res; } else { stk -= 2; } } } return res + stk; } };
|