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

You are climbing a staircase. It takes n steps to reach the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
 
Please complete the following python code precisely:
```python
class Solution:
    def climbStairs(self, n: int) -> int:
```