reverse string
배열 참조를 받아서 해당 배열을 reverse 된 배열로 변환하기
/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function (s) {
let l = 0;
let r = s.length - 1;
while (l < r) {
const tmp = s[l];
s[l] = s[r];
s[r] = tmp;
l += 1;
r -= 1;
}
};
순서를 뒤바꾸는 규칙 생각해보기
- 맨 첫번째 문자를 맨 마지막으로 옮긴다.
- 두번째 문자는 맨 마지막에서 두번째로 옮긴다.
- 세번째 문자는 맨 마지막에서 세번째로 옮긴다.
- n 번째 문자는 맨 마지막에서 n 번째로 옮긴다.
즉, 자신이 지금 첫번째 글자에서 n 번째 위치라면 마지막에서 n 번째 위치인 글자와 바꾸면 된다.
맨 마지막 글자와 맨 끝 글자의 포인터에서 시작하여 중간까지 오면 완성된다.
반응형
'알고리즘 이론 > 배열과 문자열' 카테고리의 다른 글
Sliding Window, Maximum Average Subarray 문제 (leet code) (0) | 2022.12.18 |
---|---|
Sliding Window 기법 배워보기 (0) | 2022.12.18 |
Two Pointers, 정렬된 제곱의 배열 구하기 (squares of a sorted array) (0) | 2022.12.09 |
알고리즘, Two Pointers 기법 (0) | 2022.12.07 |
알고리즘에서 문자열과 배열 (0) | 2022.12.05 |