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

Given a string s, remove duplicate letters so that every letter appears once and only once. You must make sure your result is the smallest in lexicographical order among all possible results.
 
Please complete the following python code precisely:
```python
class Solution:
    def removeDuplicateLetters(self, s: str) -> str:
```