문제
문제파악
Write a function that reverses a string. The input string is given as an array of characters s.
You must do this by modifying the input array in-place with O(1) extra memory.
in-place로 문제 해결. 즉, 추가 메모리(공간복잡도)는 O(1)
- 1 <= s.length <= 105
- s[i] is a printable ascii character.
문제풀이
해당 문제도 결국 양끝을 Swap 해주면 해결되기 때문에 투포인터(two-pointer)를 이용하여 해결할 수 있다.
즉, 양끝을 관리해주며 swap을 반복하면 된다.
class Solution {
public void reverseString(char[] s) {
int l_index = 0;
int r_index = s.length - 1;
while(l_index < r_index){
char temp = s[l_index];
s[l_index] = s[r_index];
s[r_index] = temp;
l_index++;
r_index--;
}
}
}
'문제풀이' 카테고리의 다른 글
BaekJoon(9461)::파도반 수열 (0) | 2021.11.22 |
---|---|
LeetCode(977)::Squares of a Sorted Array (0) | 2021.11.18 |
LeetCode(344)::Reverse String (0) | 2021.11.18 |
LeetCode(448)::Find All Numbers Disappeared in an Array (0) | 2021.11.18 |
LeetCode(189)::Rotate Array (0) | 2021.11.16 |