Reverse String 문제풀이 - Java 사용
문자의 배열이 입력으로 들어오면 해당배열을 거꾸로배열을 출력하는 문제이다.
단 입력된 배열을 그대로 조작
public class Solution {
public void reverseString(char[] s) {
int i = 0;
int j = s.length - 1;
/*
매개변수 s에는
s[0] = h
s[1] = e
s[2] = l
s[3] = l
s[4] = o
들어있음
1.
while(i<j){ => 0<4
char tmp = s[0]; => tmp는 h
s[i] = s[j]; => s[0] 은 o
s[j] = tmp; => s[j] 은 h
i++; => i 1증가
j--; => j 1감소
}
2. while(i<j){ => 1<3
char tmp = s[1]; => tmp는 e
s[i] = s[j]; => s[1] 은 l
s[j] = tmp; => s[j] 은 e
3... 이런식으로 반복
}
*/
while(i < j){
char tmp = s[i];
s[i] = s[j];
s[j] = tmp;
i++;
j--;
}
}
}
추가적으로 이클립스에서 다른방법으로 코딩을 해보았다.
// reetcode 344문제
public class Solution {
public static void main(String[] args) {
reverseString("hello");
}
private static void reverseString(String s) {
// len 변수에는 현재 5가 저장 되어있음
int len = s.length();
// 자바 StringBuilder를 이용하여 문자추가
StringBuilder str = new StringBuilder(len);
// for문을 이용
for (int i = len - 1; i >= 0; i--) {
// 첫번째 s[4] = o 저장
// 두번째 s[3] = l 저장
// 세번째 s[2] = l 저장
// 네번째 s[1] = e 저장
// 네번째 s[0] = h 저장
str.append(s.charAt(i));
}
System.out.println("문자열 hello의 reverse된 값은 " + str.toString());
}
}
'LeetCode 알고리즘 문제풀이' 카테고리의 다른 글
[LeetCode-217] Contains Duplicate 문제풀이 - Java 사용 (0) | 2020.09.10 |
---|---|
[LeetCode-412] Fizz Buzz 문제풀이 - Java 사용 (0) | 2020.09.09 |
[LeetCode-141 ] Linked List Cycle 문제풀이 - Java 사용 (0) | 2020.09.07 |
[LeetCode-136 ] Single Number 문제풀이 - Java 사용 (0) | 2020.05.08 |
[LeetCode-104 ] Maximum Depth of Binary Tree 문제풀이 - Java 사용 (0) | 2020.05.08 |