生成n对有效的小括号序列

题目原型:

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:

"((()))", "(()())", "(())()", "()(())", "()()()"

分析:此类排列组合类题目,有时候适合用递归解决。

看了代码后一目了然:

	/**
	 * 递归产生组合
	 * @param list 集合
	 * @param n 括号的对数
	 * @param left 左括号的个数
	 * @param right 右括号的个数
	 * @param tempStr 临时变量,储存括号
	 */
	public void getAnswer(ArrayList list,int n,int left,int right,String tempStr)
	{
		if(left generateParenthesis(int n) 
	{
		ArrayList list = new ArrayList();
		getAnswer(list, n, 0, 0, "");
		return list;
    }


你可能感兴趣的:(leetcode)