리트코드 344. Reverse String
🤔 Q. 문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라.
- 예제 1
입력["h", "e", "l", "l", "o"]
출력["o", "l", "l", "e", "h"]
- 예제 2
입력["H", "a", "n", "n", "a", "h"]
출력["h", "a", "n", "n", "a", "H"]
✏️ 풀이 1: 투 포인터를 이용한 스왑
def reverseString(self, s: List[str]) -> None:
left, right = 0, len(s) - 1
while left < right:
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
- 리턴 없이 내부를 직접 조작하는 전통적인 방법이다.
✏️ 풀이 2: 파이썬다운 방식
def reverseString(self, s: List[str]) -> None:
s.reverse()
reverse()
는 리스트에만 제공된다.
- 입력값이 문자열이라면
s = s[::-1]
을 사용하면 된다.
오류가 발생할 경우, s[:] = S[::-1]
라는 트릭을 사용하면 된다.