문제
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-place with O(1) extra memory.
You may assume all the characters consist of printable ascii characters.
Example 1:
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Example 2:
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
해결방법
1번 방법은 투 포인터를 이용한 방식으로 두 개의 포인터의 위치를 옮겨가면서 위치만 옮겨주는 방식이다.
2번 방법은 그냥 리스트의 reverse()
함수를 통해 뒤집은 방법이다.
class Solution:
def reverseString(self, s: List[str]) -> None:
left = 0
right = len(s) - 1
while left < right:
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
return s # 테스트 코드를 위해 return을 넣었음
def reverseString2(self, s: List[str]) -> None:
s.reverse()
return s # 테스트 코드를 위해 return을 넣었음
Github
'기록' 카테고리의 다른 글
효율적인 커밋 메세지 관리를 위한 Conventional Commits 적용하기 (1) | 2021.08.27 |
---|---|
LeetCode 0819. Most Common Word(Python) (0) | 2021.05.24 |
LeetCode 0002. Add Two Numbers(Python) (0) | 2021.01.22 |
LeetCode 0001. Two Sum (0) | 2021.01.21 |
Windows Terminal 테마와 폰트 수정하기 (0) | 2020.05.29 |