Trong bài này, chúng ta sẽ hiểu cách đảo ngược một chuỗi bằng cách sử dụng ngăn xếp. Chuỗi là một kiểu dữ liệu chứa một hoặc nhiều ký tự và được đặt trong dấu ngoặc kép (“”). Ngăn xếp là một cấu trúc dữ liệu tuyến tính được sử dụng để lưu trữ tập hợp các đối tượng. Nó dựa trên Last-In-First-Out (LIFO).
Dưới đây là một minh chứng về điều tương tự -
Giả sử đầu vào của chúng tôi là -
Input string: Java Program
Đầu ra mong muốn sẽ là -
Reversed string: margorP avaJ
Thuật toán
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
Ví dụ 1
Ở đây, chúng tôi liên kết tất cả các hoạt động với nhau trong hàm "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); } }
Đầu ra
Required packages have been imported The string is defined as Java Program The reversed string is: margorP avaJ
Ví dụ 2
Ở đây, chúng tôi đóng gói các hoạt động thành các hàm trưng bày lập trình hướng đối tượng.
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)); } }
Đầu ra
Required packages have been imported The string is defined as Java Program The reversed string is: margorP avaJ