문자열을 거꾸로 뒤집는 방법
1. for문으로 증감식을 사용하는 방법
2. StringBuilder 의 reverse 메서드를 사용하는 방법
3. While 문으로 시작 인덱스와 끝 인덱스를 하나씩 뒤집는 방법
1. for문 으로 증감식을 사용하는 방법
String str = "hello";
String reverseStr = "";
for (int i = str.length() - 1; i >= 0; i--) {
reverseStr += String.valueOf(str.charAt(i));
}
System.out.println(reverseStr); // olleh
증감식으로 문자열의 끝 인덱스부터 첫 인덱스 까지 거꾸로 순회하면서,
해당 문자열의 인덱스 값을 조회하여 문자열에 넣는 방식
2. StringBuilder 의 reverse 메서드를 사용하는 방법
String str = "hello";
String reverseStr = new StringBuilder(str).reverse().toString();
System.out.println(reverseStr); // olleh
StringBuilder 의 reverse 메서드를 이용하면 간편하게 구할 수 있다.
3. while 문으로 시작 인덱스와 끝 인덱스를 하나씩 뒤집는 방법
public static void main(String[] args) {
String str = "hello";
String reverseStr = "";
char[] arr = str.toCharArray(); // [h, e, l, l, o]
for (char c : arr) {
// left, right 초기값 지정
int left = 0;
int right = str.length() - 1;
while (left < right) { // left <-> right 해당 인덱스 값 교환
char temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
reverseStr = new String(arr);
System.out.println(reverseStr); // olleh
}
초기값으로 left 를 0, right 을 문자열의 끝 인덱스 -1 로 지정을 한다.
while 문을 통해서 left 가 right 보다 크면 종료 조건으로 넣어둔다.