GENERATE BALANCED PARENTHESIS IN C++
    vector<string> generateParenthesis(int n) {
        vector<string>v;
        string op="";
        int open=n;
        int close=n;
        solve1(open,close,op,v);
        return v;
    }
    void solve1(int open, int close, string op, vector<string>&v)
    {
        if(open==0 && close==0)
        {
            v.push_back(op);
            return;
        }
        else
        {
            if(open!=0)
            {
                string op1=op;
                op1.push_back('(');
                solve1(open-1,close,op1,v);
            }
            if(close>open)
            {
                string op2=op;
                op2.push_back(')');
                solve1(open,close-1,op2,v);
                return;
            }
        }
    }
};
Comments (0)