3
void back_tracking(vector<string> &res, string cus, int lp, int rp, int idx) {7
for (int i = 0; i < cus.size(); i++) {10
else if (cus[i] == ')') {18
if (flag) res.emplace_back(cus);22
for (int i = idx; i < cus.size(); i++) {23
if (i != idx && cus[i] == cus[i - 1]) continue;25
if (lp + rp > cus.size() - i) return;27
if (lp && cus[i] == '(')28
back_tracking(res, cus.substr(0, i) + cus.substr(i + 1), lp - 1, rp, i);30
if (rp && cus[i] == ')')31
back_tracking(res, cus.substr(0, i) + cus.substr(i + 1), lp, rp - 1, i);35
vector<string> removeInvalidParentheses(string s) {49
back_tracking(res, s, left_p, right_p, 0);