Reverse String
String Simulation
Problem
Write a function that reverses a string. The input string is given as an array of characters char[]
.
Do not allocate extra space for another array, you must do this by modifying the input array in-placewith O(1) extra memory.
You may assume all the characters consist of printable ascii characters.
Thought Process
You can use 2 pointer approach
You can also do recursive approach but this will take more space
Solution
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
left, right = 0, len(s)-1
while(left<right):
s[left], s[right] = s[right], s[left]
left+=1
right-=1
return s
Time Complexity
Time: O(n) for both 2 pointer and recursive
Space: O(1) for 2 pointer but O(n) for recursive because of call stack
Last updated
Was this helpful?