Generate Parentheses
Difficulty: Medium
Category: DSA
Topics: String, Dynamic Programming, Backtracking
Asked at: Microsoft, Facebook, Google, Bloomberg, Amazon, Apple, Adobe, Walmart Labs, ByteDance, Nvidia, Oracle
Given `n` pairs of parentheses, write a function to _generate all combinations of well-formed parentheses_.
**Example 1:**
**Input:** n = 3
**Output:** ["((()))","(()())","(())()","()(())","()()()"]
```
**Example 2:**
**Input:** n = 1
**Output:** ["()"]
```
**Constraints:**
- `1 <= n <= 8`