문자 배열이 있다고 가정합니다. 추가 공간을 사용하지 않고 문자열을 반전해야 합니다. 따라서 문자열이 ['H', 'E', 'L', 'L', 'O']와 같으면 출력은 ['O', 'L', 'L', 'E', ' ㅎ']
이 문제를 해결하기 위해 다음 단계를 따릅니다.
- 두 포인터를 사용하여 시작 =0 및 끝 =문자열 길이 – 1
- 첫 글자와 마지막 글자 바꾸기
- 시작 1 증가 및 끝 1 감소
예시
더 나은 이해를 위해 다음 구현을 살펴보겠습니다. −
class Solution(object): def reverseString(self, s): """ :type s: List[str] :rtype: None Do not return anything, modify s in-place instead. """ start = 0 end = len(s)-1 while start<end: s[start],s[end] = s[end],s[start] start+=1 end-=1string_1 = ["H","E","L","L","O"] ob1 = Solution() ob1.reverseString(string_1) print(string_1)
입력
String = ["H","E","L","L","O"]
출력
["O","L","L","E","H"]