使用堆栈反转字符串的 Java 程序
javacampus interviewserver side programmingprogramming
在本文中,我们将了解如何使用堆栈反转字符串。字符串是一种包含一个或多个字符并用双引号("“ ”" 括起来的数据类型。堆栈是一种线性数据结构,用于存储对象集合。它基于后进先出 (LIFO)。
下面是相同的演示 −
假设我们的输入是 −
输入字符串:Java Program
期望输出将是 −
反转字符串:margorP avaJ
算法
步骤 1 - 开始 步骤 2 - 声明两个字符串值,即 input_string 和 result,一个堆栈值,即 stack,以及一个 char 值,即 reverse。 步骤 3 - 定义值。 步骤 4 - 使用 for 循环遍历字符串的每个字符,并使用 ‘push’ 关键字将每个字符推送到堆栈。 步骤 5 - 现在,使用 ‘pop’ 关键字弹出堆栈中的每个元素,并将其分配给结果字符串。 步骤 6 - 显示结果 步骤 7 - 停止
示例 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