Please solve the programming task below using a self-contained code snippet in a markdown code block.

The n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other.
Given an integer n, return all distinct solutions to the n-queens puzzle. You may return the answer in any order.
Each solution contains a distinct board configuration of the n-queens' placement, where 'Q' and '.' both indicate a queen and an empty space, respectively.
 
Please complete the following python code precisely:
```python
class Solution:
    def solveNQueens(self, n: int) -> List[List[str]]:
```