Python program to reverse a string using stack and reversed method

Here, we will figure out how to invert a string by utilizing stack and turned around technique in python?

Given a string and we need to invert it by utilizing stack and by utilizing turned around technique in python.

1) Reverse a string by utilizing stack:

Methodology/procedure:

  1. First, make an unfilled stack
  2. Drive each character individually in the stack
  3. Pop each character individually and set them back to the string

2) Reverse a hung utilizing turned around() strategy

In this strategy, we will utilize turned around() technique and repeat over the switched iterator to get them turned around the string.

Python code to turn around a string:

import sys

def push(element, size, stack):
    '''
    this function is used to push the elements
    in the stack and it will return Error! message
    if the stack is full and terminate the program.
    '''
    global top
    if top >= size - 1:
        print('Stack Overflow')
        sys.exit()
    else:
        top += 1
        stack[top] = element

def pop():
    '''
    this function is used to pop elements from
    the stack and it will return Error! message
    if the stack is empty and terminate the program.
    '''
    global top
    if top < 0:
        print('Stack Underflow')
        sys.exit()
    else:
        element = stack[top]
        print('%s' % element, end='')
        top -= 1

def reverse_by_sort(string):
    '''
    This function is used to reverse any string
    by reversed() method.
    '''

    string = list(string)
    rev_str = ''
    
    for i in reversed(string):
        rev_str += i

    return rev_str

if __name__=='__main__':

    size = 11
    stack = [0]*size
    string = 'JustTechReview'
    top = -1

    # Pushing value in the stack
    push('I', 11, stack)
    push('n', 11, stack)
    push('c', 11, stack)
    push('l', 11, stack)
    push('u', 11, stack)
    push('d', 11, stack)
    push('e', 11, stack)
    push('h', 11, stack)
    push('e', 11, stack)
    push('l', 11, stack)
    push('p', 11, stack)

    print('Original String = %s' % string)
    
    print('\nUsing Stack')

    # Popping values from stack and printing them
    print('Reversed String = ',end='')
    for i in stack:
        pop()

    print('\n\nUsing sort()')
    print('Reversed string = %s' % reverse_by_sort(string))

Output:

Original String = JustTechReview

Using Stack
Reversed String = tusehcTwievRJ

Using sort()
Reversed string = tusehcTwievRJ

Leave a Comment

error: Alert: Content is protected!!