Generate Parentheses - Read Statement

Given nn pairs of parentheses, generate all combinations of well-formed parentheses.

Example: For n=3n=3, return ["((()))","(()())","(())()","()(())","()()()"]. The number of valid combinations is the nnth Catalan number.