이 기사에서는 스택을 사용하여 문자열을 뒤집는 방법을 이해합니다. 문자열은 하나 이상의 문자를 포함하고 큰따옴표(" ")로 묶인 데이터 유형입니다. 스택은 객체 컬렉션을 저장하는 데 사용되는 선형 데이터 구조입니다. 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