Untitled
unknown
plain_text
2 years ago
598 B
8
Indexable
class Solution {
public:
void solve(int open, int close, string ans, vector<string>&res){ //we are decreasing no of open and close left
if(open==0 && close==0){
res.push_back(ans);
return;
}
if(open >0) solve(open-1,close,ans+'(',res); //we can afford more open
if(close > open) solve(open,close-1,ans+')', res); //we can afford more close
}
vector<string> generateParenthesis(int n) {
int open=n, close=n;
vector<string> res;
solve(open,close,"",res);
return res;
}
};
Editor is loading...