You are given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
A well-formed parenthesis string satisfies two conditions:
For example, ((())) is well-formed, but ()) is not.
1
["()"]
With one pair, only one well-formed combination is possible.
3
["((()))", "(()())", "(())()", "()(())", "()()()"]
All possible well-formed combinations for three pairs of parentheses.
1
["()"]