简单的说就是n个标准括号的排列一共有多少种排列方法。
主要思想是使用递归的思想。即有多少个左括号就要有多少个右括号。当递归函数的参数都为0的时候输出一次结果。
class Solution {
public:
vector<string> result;
vector<string> generateParenthesis(int n) {
int left = n;
int right = 0;
geresult("",n,right);
return result;
}
void geresult(string s, int left, int right)
{
if(left == 0 && right == 0)
{
result.push_back(s);
return;
}
if(left > 0)
{
geresult(s+"(",left-1,right+1);
}
if(right > 0)
{
geresult(s+")",left,right-1);
}
}
};
转载请注明原文地址: https://ju.6miu.com/read-16394.html