투포인터를 사용해 해결했다.
간단하다. 앞과 뒤를 서로 체인지해주면 된다.
class Solution:
def reverseString(self, s: List[str]) -> None:
l = len(s) - 1
for i in range(int(l/2)+1):
s[i] , s[l-i] = s[l-i], s[i] # 투포인터
c++ 사용하다가 파이썬 넘어오니까 이런게 너무 충격적이다. 저렇게 두 개를 교환할 수 있다니...
시간 복잡도는 O(n/2) 이다.
뭐야 이거 왜이렇게 느려? 헉 reverse()가 157ms? 씁쓸하군