이 기사에서는 스택을 사용하여 문자열을 뒤집는 방법을 이해합니다. 문자열은 하나 이상의 문자를 포함하고 큰따옴표(" ")로 묶인 데이터 유형입니다. 스택은 객체 컬렉션을 저장하는 데 사용되는 선형 데이터 구조입니다. LIFO(후입선출)를 기반으로 합니다.
아래는 동일한 데모입니다 -
입력이 다음과 같다고 가정 -
Input string: Java Program
원하는 출력은 -
Reversed string: margorP avaJ
알고리즘
Step 1 - START Step 2 - Declare two string values namely input_string and result, a stack value namely stack, and a char value namely reverse. Step 3 - Define the values. Step 4 - Iterate over each characters of the string using a for-loop and push each character to the stack using ‘push’ keyword. Step 5 - Now, pop each of the elements in the stack using ‘pop’ keyword and assign it to the result string. Step 6 - Display the result Step 7 - Stop
예시 1
여기에서 모든 작업을 'main' 기능 아래에 묶습니다.
import java.util.*;
public class ReverseString {
public static void main(String[] args) {
System.out.println("Required packages have been imported");
String input_string = "Java Program";
System.out.println("The string is defined as " +input_string);
char[] reverse = new char[input_string.length()];
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < input_string.length(); i++) {
stack.push(input_string.charAt(i));
}
int i = 0;
while (!stack.isEmpty()) {
reverse[i++] = stack.pop();
}
String result = new String(reverse);
System.out.println("\nThe reversed string is: " + result);
}
} 출력
Required packages have been imported The string is defined as Java Program The reversed string is: margorP avaJ
예시 2
여기에서 객체 지향 프로그래밍을 나타내는 함수로 작업을 캡슐화합니다.
import java.util.*;
public class ReverseString {
public static String reverse_string(String input_string) {
char[] reverse = new char[input_string.length()];
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < input_string.length(); i++) {
stack.push(input_string.charAt(i));
}
int i = 0;
while (!stack.isEmpty()) {
reverse[i++] = stack.pop();
}
return new String(reverse);
}
public static void main(String[] args) {
System.out.println("Required packages have been imported");
String input_string = "Java Program";
System.out.println("The string is defined as " +input_string);
System.out.println("\nThe reversed string is: " + reverse_string(input_string));
}
} 출력
Required packages have been imported The string is defined as Java Program The reversed string is: margorP avaJ