Skip to content

Latest commit

 

History

History
35 lines (30 loc) · 977 Bytes

13.md

File metadata and controls

35 lines (30 loc) · 977 Bytes

Generate Parenthesis

Practice
 void find(int open,int close,vector<string>&ans,string s)
      {
          if(open==0 && close==0)
          {
              ans.push_back(s);
              return;
          }
          
          if(open!=0)
          {
              s+="(";
              find(open-1,close,ans,s);
              s.pop_back();
          }
          
          if(close>open)
          {
              
              s+=")";
              find(open,close-1,ans,s);
          }
      }
  vector<string> AllParenthesis(int n) 
  {
      vector<string> ans;
      string s;
      int open,close;
      open=close=n;
      
      find(open,close,ans,s);
      return ans;
  }