Python virkņu bibliotēka neatbalsta iebūvēto reverse() kā to dara citi python konteineri, piemēram, saraksts, tāpēc citu metožu pārzināšana virknes apvēršanai var izrādīties noderīga. Šajā rakstā ir aplūkoti vairāki veidi, kā to sasniegt Python .
Piemērs:
Input: Geeksforgeeks Output: skeegrofskeeG>
Apgrieziet virkni Python, izmantojot cilpu
Šajā piemērā mēs izsaucam funkciju, lai apgrieztu virkni, kas saprātīgi atkārtojas katram elementam sākumā pievienojas katram varonim lai iegūtu apgriezto virkni.
Laika sarežģītība: O(n)
Palīgtelpa: O(1)
Īstenošana:
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))> |
>
>Izvade
The original string is : Geeksforgeeks The reversed string(using loops) is : skeegrofskeeG>
Apgriezt virkni Python, izmantojot rekursiju
Virkne tiek nodota kā arguments a rekursīvā funkcija lai apgrieztu virkni. Funkcijā pamatnosacījums ir tāds, ka, ja virknes garums ir vienāds ar 0, virkne tiek atgriezta. Ja nav vienāds ar 0, rekursīvi tiek izsaukta reversā funkcija, lai sagrieztu virknes daļu, izņemot pirmo rakstzīmi, un savienotu pirmo rakstzīmi līdz sagrieztās virknes beigām. '
Īstenošana:
Python3
cast int virknē 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))> |
>
>Izvade
The original string is : Geeksforgeeks The reversed string(using recursion) is : skeegrofskeeG>
Laika sarežģītība : O(n), rekursijai uz reversu
Palīgtelpa : O(n), rekursijas izsaukuma stekam
Apgrieztā virkne Python, izmantojot steku
Tukšs Laika sarežģītība: O(n)
Palīgtelpa: O(n)
Īstenošana:
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))> |
>
>Izvade
The original string is : Geeksforgeeks The reversed string(using stack) is : skeegrofskeeG>
Apgrieztā virkne Python, izmantojot paplašinātu šķēli
Paplašinātā šķēle piedāvā likt soļa lauku kā [sākt, apstāties, soli] , un nedodot lauku kā sākumu un beigas, noklusējums ir attiecīgi 0 un virknes garums, un -1 apzīmē sākuma no beigām un apstājas sākumā, tādējādi apgriežot virkni.
Laika sarežģītība : O(n)
Palīgtelpa : O(1)
Īstenošana:
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))> |
>
>Izvade
The original string is : Geeksforgeeks The reversed string(using extended slice syntax) is : skeegrofskeeG>
Apgrieztā virkne Python, izmantojot reverse() metodi
The apgriezts () atgriež dotās virknes apgriezto iteratoru un pēc tam tās elementi tiek savienoti tukša virkne, kas atdalīta, izmantojot join(). Un veidojas apgrieztas secības virkne.
Laika sarežģītība : O(n)
Palīgtelpa : O(n)
Īstenošana:
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))> |
fonta izmēra latekss
>
>Izvade
The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>
Apgrieztā virkne Python, izmantojot saraksta izpratni ()
Saraksta izpratne izveido virknes elementu sarakstu apgrieztā secībā un pēc tam tā elementi tiek savienoti, izmantojot pievienoties () . Un veidojas apgrieztas secības virkne.
Laika sarežģītība: O(n)
Palīgtelpa: O(1)
Īstenošana:
Python3
1 no 1000.00
# 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))> |
>
>Izvade
The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>
Apgrieztā virkne Python, izmantojot funkcijas izsaukumu
Funkcija, lai apgrieztu virkni, pārvēršot virkni par sarakstu, pēc tam to apvēršot un vēlreiz pārvēršot par virkni.
Laika sarežģītība: O(n)
Palīgtelpa: O(1)
Īstenošana:
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> |
>
>Izvade
The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>