logo

Cadena inversa en Python (6 formas diferentes)

La biblioteca de cadenas de Python no es compatible con la versión incorporada. contrarrestar() como lo hacen otros contenedores de Python como list, por lo que conocer otros métodos para invertir cadenas puede resultar útil. Este artículo analiza varias formas de lograrlo en Pitón .

Ejemplo:

  Input:    Geeksforgeeks   Output:   skeegrofskeeG>

Invertir una cadena en Python usando un bucle

En este ejemplo, llamamos a una función para invertir una cadena, que itera a cada elemento e inteligentemente se une a cada personaje al principio para obtener la cadena invertida.



Complejidad del tiempo: O (n)
Espacio auxiliar: O(1)

Implementación:

Python3




def> reverse(s):> >str> => ''> >for> i>in> s:> >str> => i>+> str> >return> str> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using loops) is : '>, end>=>'')> print>(reverse(s))>

>

>

Producción

The original string is : Geeksforgeeks The reversed string(using loops) is : skeegrofskeeG>

Invertir una cadena en Python usando recursividad

La cadena se pasa como argumento a un función recursiva para invertir la cuerda. En la función, la condición base es que si la longitud de la cadena es igual a 0, se devuelve la cadena. Si no es igual a 0, se llama recursivamente a la función inversa para dividir la parte de la cadena excepto el primer carácter y concatenar el primer carácter hasta el final de la cadena dividida. '

Implementación:

Python3




hacer ejecutable un script de shell
def> reverse(s):> >if> len>(s)>=>=> 0>:> >return> s> >else>:> >return> reverse(s[>1>:])>+> s[>0>]> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using recursion) is : '>, end>=>'')> print>(reverse(s))>

>

>

Producción

The original string is : Geeksforgeeks The reversed string(using recursion) is : skeegrofskeeG>

Complejidad del tiempo : O(n), para que la recursividad se invierta
Espacio Auxiliar : O(n), para pila de llamadas recursiva

Cadena inversa en Python usando pila

Un vacío Complejidad del tiempo: O (n)
Espacio auxiliar: O(n)

Implementación:

Python3




# Function to create an empty stack. It> # initializes size of stack as 0> def> createStack():> >stack>=> []> >return> stack> # Function to determine the size of the stack> def> size(stack):> >return> len>(stack)> # Stack is empty if the size is 0> def> isEmpty(stack):> >if> size(stack)>=>=> 0>:> >return> true> # Function to add an item to stack . It> # increases size by 1> def> push(stack, item):> >stack.append(item)> # Function to remove an item from stack.> # It decreases size by 1> def> pop(stack):> >if> isEmpty(stack):> >return> >return> stack.pop()> # A stack based function to reverse a string> def> reverse(string):> >n>=> len>(string)> ># Create a empty stack> >stack>=> createStack()> ># Push all characters of string to stack> >for> i>in> range>(>0>, n,>1>):> >push(stack, string[i])> ># Making the string empty since all> ># characters are saved in stack> >string>=> ''> ># Pop all characters of string and put> ># them back to string> >for> i>in> range>(>0>, n,>1>):> >string>+>=> pop(stack)> >return> string> # Driver code> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using stack) is : '>, end>=>'')> print>(reverse(s))>

>

>

Producción

The original string is : Geeksforgeeks The reversed string(using stack) is : skeegrofskeeG>

Cadena inversa en Python usando un segmento extendido

Ofertas de sectores extendidos para poner un campo de paso como [inicio, parada, paso] , y no dar ningún campo como inicio y fin indica que el valor predeterminado es 0 y la longitud de la cadena respectivamente, y -1 denota comenzar desde el final y detenerse al principio, por lo tanto, invertir una cadena.

Complejidad del tiempo : En)
Espacio Auxiliar :O(1)

Implementación:

Python3




# Function to reverse a string> def> reverse(string):> >string>=> string[::>->1>]> >return> string> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using extended slice syntax) is : '>, end>=>'')> print>(reverse(s))>

>

industria y fábrica

>

Producción

The original string is : Geeksforgeeks The reversed string(using extended slice syntax) is : skeegrofskeeG>

Invertir cadena en Python usando el método invertido ()

El invertido() devuelve el iterador invertido de la cadena dada y luego sus elementos se unen a una cadena vacía separada usando join(). Y se forma una cadena de orden inverso.

Complejidad del tiempo : En)
Espacio Auxiliar : En)

Implementación:

Python3




# Python code to reverse a string> # using reversed()> # Function to reverse a string> def> reverse(string):> >string>=> ''.join(>reversed>(string))> >return> string> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using reversed) is : '>, end>=>'')> print>(reverse(s))>

>

>

Producción

The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>

Cadena inversa en Python usando lista de comprensión ()

La comprensión de listas crea la lista de elementos de una cadena en orden inverso y luego sus elementos se unen usando unirse() . Y se forma una cadena de orden inverso.

Complejidad del tiempo: O (n)
Espacio auxiliar: O(1)

Implementación:

Python3




# Function to reverse a string> def> reverse(string):> >string>=> [string[i]>for> i>in> range>(>len>(string)>->1>,>->1>,>->1>)]> >return> ''.join(string)> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, s)> print>(>'The reversed string(using reversed) is : '>, reverse(s))>

>

>

Producción

The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>

Cadena inversa en Python usando la llamada a función

Función para invertir una cadena convirtiendo una cadena en una lista, luego la invierte y la convierte nuevamente en una cadena.

Complejidad del tiempo: O (n)
Espacio auxiliar: O(1)

Implementación:

Python3

interfaz vs clase abstracta




# Function to reverse a string> # by converting string to list> # then reversed it and again convert it to string> def> reverse(string):> >string>=> list>(string)> >string.reverse()> >return> ''.join(string)> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, s)> print>(>'The reversed string(using reversed) is : '>, reverse(s))> # This code is contributed by Susobhan AKhuli>

>

>

Producción

The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>