[Python] O(N) using two pointers
\nclass Solution:\n    def makeSmallestPalindrome(self, s: str) -> str:\n        a = list(s)\n\n        left, right = 0, len(a) - 1\n\n        while left < righ
```\nclass Solution:\n    def makeSmallestPalindrome(self, s: str) -> str:\n        a = list(s)\n\n        left, right = 0, len(a) - 1\n\n        while left < right:\n            a[left] = a[right] = min(a[left], a[right])\n            left += 1\n            right -= 1\n        \n        return \'\'.join(a)\n```
['Two Pointers', 'Python']