티스토리 뷰
Problem
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.
Example 1:
Input: s = ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Example 2:
Input: s = ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
Constraints:
- 1 <= s.length <= 10^5
- s[i] is a printable ascii character.
Solution
문자 배열이 주어질 때 해당 문자 배열을 뒤집는 기능을 구현하는 문제입니다.
상수 메모리를 추가로 사용할 수 있습니다.
변수 temp 하나만 사용해서 배열의 양 끝에서부터 swap 해주면 간단히 해결할 수 있습니다.
public class Solution {
public void reverseString(char[] s) {
int left = 0, right = s.length - 1;
while (left < right) {
char temp = s[left];
s[left++] = s[right];
s[right--] = temp;
}
}
}
Test
package io.lcalmsky.leetcode.reverse_string;
import static org.junit.jupiter.api.Assertions.assertAll;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import org.junit.jupiter.api.Test;
class SolutionTest {
@Test
void testAll() {
assertAll(
() -> test(new char[]{'h', 'e', 'l', 'l', 'o'}, new char[]{'o', 'l', 'l', 'e', 'h'}),
() -> test(new char[]{'H', 'a', 'n', 'n', 'a', 'h'},
new char[]{'h', 'a', 'n', 'n', 'a', 'H'})
);
}
private void test(char[] given, char[] expected) {
// when
Solution solution = new Solution();
solution.reverseString(given);
// then
assertArrayEquals(expected, given);
}
}
'Algorithm > LeetCode' 카테고리의 다른 글
856. Score of Parentheses (0) | 2022.04.24 |
---|---|
31. Next Permutation (0) | 2022.04.23 |
1046. Last Stone Weight (0) | 2022.04.19 |
923. 3Sum With Multiplicity (0) | 2022.04.18 |
11. Container With Most Water (0) | 2022.04.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- JPA
- 스프링 부트 애플리케이션
- r
- 클린 아키텍처
- 함께 자라기 후기
- Jackson
- QueryDSL
- 스프링 부트 튜토리얼
- JSON
- 알고리즘
- spring boot application
- Java
- @ManyToOne
- intellij
- Spring Boot JPA
- Spring Boot Tutorial
- 스프링 데이터 jpa
- 스프링부트
- 스프링 부트 회원 가입
- Spring Data JPA
- Linux
- 스프링 부트
- 헥사고날 아키텍처
- spring boot jwt
- 함께 자라기
- leetcode
- proto3
- spring boot app
- Spring Boot
- gRPC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함