Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
给定n对括号,编写一个函数来生成所有格式正确的括号组合。
For example, given n = 3, a solution set is:
[ "((()))", "(()())", "(())()", "()(())", "()()()" ]
class Solution(object): def generateParenthesis(self, n): """ :type n: int :rtype: List[str] """ if n == 0: return [] result = [] self.helper(n, n, '', result) return result def helper(self, left, right, item, result): if left > right: return if left == 0 and right == 0: result.append(item) if left > 0: self.helper(left-1, right, item+'(', result) if right > 0: self.helper(left, right-1, item+')', result)