Generate Parentheses
Difficulty: Medium
Category: DSA
Topics: String, Dynamic Programming, Backtracking
Asked at: Adobe, Amazon, Apple, Bloomberg, ByteDance, Facebook, Google, LinkedIn, Microsoft, Nvidia, Oracle, Uber, Walmart Labs
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`