logo

Apgrieztā virkne Python (6 dažādi veidi)

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>