문제풀이

LeetCode(344)::Reverse String

문제

 

Reverse String - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문제파악

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)

 

문제풀이

해당 문제도 결국 양끝을 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--;
        }
    }
}