El Stack es una estructura de datos lineal que sigue el principio LIFO (Last In First Out) , es decir, el último elemento insertado es el elemento que sale primero.
Acercarse:
- Empuje el carácter uno por uno en la pila de carácter de tipo de datos.
- Saque el personaje uno por uno de la pila hasta que la pila se vacíe.
- Agregue un elemento emergente a la array de caracteres.
- Convierte una array de caracteres en una string.
- Devuelve la string invertida.
A continuación se muestra la implementación del enfoque anterior.
Java
// Java Program to Reverse a String using Stack import java.io.*; import java.util.*; class GFG { public static String ReverseString(String str) { char[] reverseString = new char[str.length()]; // Declare a stack of type Character Stack<Character> stack = new Stack<Character>(); // Traverse the String and push the character one by // one into the Stack for (int i = 0; i < str.length(); i++) { // push the character into the Stack stack.push(str.charAt(i)); } // Now Pop the Characters from the stack until it // becomes empty int i = 0; while (!stack.isEmpty()) { // popping element until // stack become empty // get the character from the top of the stack reverseString[i++] = stack.pop(); } // return string object return new String(reverseString); } // Driver code public static void main(String[] args) { String str1 = "GeeksForGeeks"; // call the function System.out.println(str1 + " <- Reverse -> " + ReverseString(str1)); String str2 = "Hello World"; // call the function System.out.println(str2 + " <- Reverse -> " + ReverseString(str2)); } }
Producción:
GeeksForGeeks <- Reverse -> skeeGroFskeeG Hello World <- Reverse -> dlroW olleH
Complejidad de tiempo: O(n), donde n es un número de caracteres en la pila.
Espacio Auxiliar: O(n) para la pila.
Publicación traducida automáticamente
Artículo escrito por sumitsaini589 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA