0344. Reverse String

Easy | String | 152 ms (98.00%), 21.2 MB (57.89%)

Source: LeetCode - Reverse String GitHub: Solution / Performance

Write a function that reverses a string. The input string is given as an array of characters s.

Follow up: Do not allocate extra space for another array. You must do this by modifying the input array in-place with O(1) extra memory.

Swap two char in each iteration by two pointers (left/right) util left >= right.

class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
        # (base case)
        if len(s) == 1: return s

        # ==================================================
        #  String                                          =
        # ==================================================
        # time  : O(n)
        # space : O(1)
        
        left, right = 0, len(s) - 1
        while left < right:
            s[left], s[right] = s[right], s[left]
            left, right = left + 1, right - 1

Last updated