[알고리즘] Leetcode_344_Reverse_String

jeongjwon·2023년 3월 21일
0

알고리즘

목록 보기
2/48

Problem



Solve

O(1)의 시간 복잡도를 가지는 추가 메모리만을 사용
➡️ 기본 자료형을 사용하는 변수

  1. 새로운 한 배열을 생성하여 하나씩 옮긴 다음에 void 형이기 때문에 다시 옮겨주는 작업 (one-way)
  2. while 문을 이용하여 배열의 시작요소와 종료요소를 동시에 바꿔주는 작업 (two pointer)
import java.util.*;
class Solution {
    public void reverseString(char[] s) {
        //one way
    //    char[] reverse = new char[s.length];
    //    for(int i = 0 ; i < s.length ; i++){
    //        reverse[i] = s[s.length-1-i];
    //    }
    //    for(int i = 0 ; i < s.length ; i++){
    //        s[i] = reverse
    //    }

       //two pointer
       int left = 0 , right = s.length-1;
       while(left < right){
           char temp = s[left];
           s[left] = s[right];
           s[right] = temp;
           left++;
           right--;
       }
       
    }
}

0개의 댓글

관련 채용 정보