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

Given an integer array nums where every element appears three times except for one, which appears exactly once. Find the single element and return it.
You must implement a solution with a linear runtime complexity and use only constant extra space.
 
Please complete the following python code precisely:
```python
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
```