
-Code
class Solution {
public void reverseString(char[] s) {
// 왼쪽 오른쪽 위치를 저장해 스왑
int left = 0, right = s.length - 1;
// 역순으로 위치 변환
while(left < right) {
// 임시 저장 temp 생성
char temp = s[left];
// 스왑
s[left] = s[right];
s[right] = temp;
// 2개의 포인터 값 변경
left++;
right--;
}
}
}
처음에 역순 배열을 반환하는 줄 알고 작성했으나 추가적인 메모리를 사용하지 않는 문제여서 s만 가지고 값을 만드는 문제였습니다. 그래서 처음과 끝 위치를 저장하고 변경하변서 스왑하는 방식으로 해결했습니다.
'알고리즘 문제 > Java' 카테고리의 다른 글
| [LeetCode/Java] Fibonacci Number (0) | 2026.06.29 |
|---|---|
| [LeetCode/Java] Sum of Left Leaves (0) | 2026.06.28 |
| [LeetCode/Java] Keyboard Row (0) | 2026.06.26 |
| [LeetCode/Java] Number Complement (0) | 2026.06.25 |
| [LeetCode/Java] Add Strings (0) | 2026.06.24 |