class Solution { public: vector generateParenthesis(int n) { vector res; dfs(0,0, "", n,res); return res; } void dfs(int openP, int closeP, string s, int n, vector & res){ if(openP == closeP && openP+closeP == 2*n){ res.push_back(s); return; } if(openP