【22】Generate Parentheses

    xiaoxiao2025-10-24  14

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

    For example, given n = 3, a solution set is:

    [ "((()))", "(()())", "(())()", "()(())", "()()()" ]

    简单DFS

    void dfs(int cur,int n,vector<string> &res,string one,int left,int right){ if(cur == 2*n){ res.push_back(one); return; } if(left<n){ dfs(cur+1,n,res,one+"(",left+1,right); } if(right<n && left>right){ dfs(cur+1,n,res,one+")",left,right+1); } } vector<string> generateParenthesis(int n) { vector<string> res; dfs(0,n,res,"",0,0); return res; }

    转载请注明原文地址: https://ju.6miu.com/read-1303474.html
    最新回复(0)