knakul853

Untitled

Jun 21st, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. /**
  2. knakul853
  3. **/
  4. class Solution {
  5. public:
  6.     vector<string> generateParenthesis(int n) {
  7.         vector<string>ans;
  8.        
  9.         backtrack(n , ans , 0 , 0 , "");
  10.        
  11.         return ans;
  12.     }
  13.    
  14.     void backtrack(int n, vector<string>& ans , int open , int close , string res)
  15.     {
  16.         if(res.size()==n*2)
  17.         {
  18.             ans.push_back(res);
  19.         }
  20.        
  21.         if(open < n) backtrack( n , ans , open+1 , close , res+"(");   // u can have at max n opening brackets.
  22.         if(close < open)backtrack(n , ans , open , close+1 , res+")" ); // u must close after opening the brackets.
  23.        
  24.     }
  25. };
Add Comment
Please, Sign In to add comment