Python-strängbiblioteket stöder inte det inbyggda omvänd() som görs av andra python-behållare som list, därför kan det visa sig vara användbart att känna till andra metoder för att vända strängar. Den här artikeln diskuterar flera sätt att uppnå det på Pytonorm .
Exempel:
Input: Geeksforgeeks Output: skeegrofskeeG>
Vänd en sträng i Python med en loop
I det här exemplet anropar vi en funktion för att vända en sträng, som itererar till varje element och intelligent ansluter till varje karaktär i början för att erhålla den omvända strängen.
Tidskomplexitet: O(n)
Hjälputrymme: O(1)
Genomförande:
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))> |
>
>Produktion
The original string is : Geeksforgeeks The reversed string(using loops) is : skeegrofskeeG>
Vänd en sträng i Python med hjälp av rekursion
Strängen skickas som ett argument till a rekursiv funktion för att vända strängen. I funktionen är basvillkoret att om strängens längd är lika med 0, returneras strängen. Om den inte är lika med 0, anropas den omvända funktionen rekursivt för att dela delen av strängen utom det första tecknet och sammanfoga det första tecknet till slutet av den skivade strängen. ’
Genomförande:
Python3
tecken till int i java
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))> |
>
>Produktion
The original string is : Geeksforgeeks The reversed string(using recursion) is : skeegrofskeeG>
Tidskomplexitet : O(n), för att rekursionen ska vända
Hjälputrymme : O(n), för stack för rekursionsanrop
Omvänd sträng i Python med stack
En tom Tidskomplexitet: O(n)
Hjälputrymme: O(n)
Genomförande:
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))> |
>
>Produktion
The original string is : Geeksforgeeks The reversed string(using stack) is : skeegrofskeeG>
Vänd strängen i Python med en utökad skiva
Utökad skiva erbjuder att sätta ett stegfält som [start, stopp, steg] , och inget fält som start och stopp indikerar standard till 0 respektive stränglängd, och -1 anger att börja från slutet och stopp vid starten, därav att vända en sträng.
Tidskomplexitet :O(n)
Hjälputrymme : O(1)
Genomförande:
Python3
bfs-sökning
# 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))> |
>
>Produktion
The original string is : Geeksforgeeks The reversed string(using extended slice syntax) is : skeegrofskeeG>
Omvänd sträng i Python med metoden reversed().
De reversed() returnerar den omvända iteratorn för den givna strängen och sedan sammanfogas dess element tom sträng separerad med join(). Och omvänd ordningssträng bildas.
Tidskomplexitet :O(n)
Hjälputrymme :O(n)
Genomförande:
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))> |
>
>Produktion
The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>
Omvänd sträng i Python med listförståelse()
Listförståelse skapar listan med element i en sträng i omvänd ordning och sedan sammanfogas dess element med Ansluta sig() . Och omvänd ordningssträng bildas.
Tidskomplexitet: O(n)
Hjälputrymme: O(1)
Genomförande:
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))> |
>
>Produktion
heal tool gimp
The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>
Omvänd sträng i Python med funktionsanropet
Funktion för att vända en sträng genom att konvertera sträng till lista och sedan vända den och återigen konvertera den till sträng.
Tidskomplexitet: O(n)
Hjälputrymme: O(1)
Genomförande:
Python3
# 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> |
>
>Produktion
The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>