Invertir un número usando stack

Dado un número, escribe un programa para invertir este número usando stack.

Ejemplos: 

C++

// CPP program to reverse the number
// using a stack
 
#include <bits/stdc++.h>
using namespace std;
 
// Stack to maintain order of digits
stack <int> st;
 
// Function to push digits into stack
void push_digits(int number)
{
    while (number != 0)
    {
        st.push(number % 10);
        number = number / 10;
    }
}
 
// Function to reverse the number
int reverse_number(int number)
{
    // Function call to push number's
    // digits to stack
    push_digits(number);
     
    int reverse = 0;
    int i = 1;
     
    // Popping the digits and forming
    // the reversed number
    while (!st.empty())
    {
        reverse = reverse + (st.top() * i);
        st.pop();
        i = i * 10;
    }
     
    // Return the reversed number formed
    return reverse;
}
 
// Driver program to test above function
int main()
{
    int number = 39997;
     
    // Function call to reverse number
    cout << reverse_number(number);
     
    return 0;
}

Java

// Java program to reverse the number
// using a stack
import java.util.Stack;
 
public class GFG
{
    // Stack to maintain order of digits
    static Stack<Integer> st= new Stack<>();
 
    // Function to push digits into stack
    static void push_digits(int number)
    {
        while(number != 0)
        {
            st.push(number % 10);
            number = number / 10;
        }
    }
 
    // Function to reverse the number
    static int reverse_number(int number)
    {
        // Function call to push number's
        // digits to stack
        push_digits(number);
        int reverse = 0;
        int i = 1;
 
        // Popping the digits and forming
        // the reversed number
        while (!st.isEmpty())
        {
            reverse = reverse + (st.peek() * i);
            st.pop();
            i = i * 10;
        }
 
        // Return the reversed number formed
        return reverse;
    }
 
    // Driver program to test above function
    public static void main(String[] args)
    {
        int number = 39997;
        System.out.println(reverse_number(number));
    }
}
// This code is contributed by Sumit Ghosh

Python3

# Python3 program to reverse the
# number using a stack
 
# Stack to maintain order of digits
st = [];
 
# Function to push digits into stack
def push_digits(number):
 
    while (number != 0):
        st.append(number % 10);
        number = int(number / 10);
 
# Function to reverse the number
def reverse_number(number):
     
    # Function call to push number's
    # digits to stack
    push_digits(number);
     
    reverse = 0;
    i = 1;
     
    # Popping the digits and forming
    # the reversed number
    while (len(st) > 0):
        reverse = reverse + (st[len(st) - 1] * i);
        st.pop();
        i = i * 10;
     
    # Return the reversed number formed
    return reverse;
 
# Driver Code
number = 39997;
 
# Function call to reverse number
print(reverse_number(number));
 
# This code is contributed by mits

C#

// C# program to reverse the number
// using a stack
using System;
using System.Collections.Generic;
 
class GFG
{
// Stack to maintain order of digits
public static Stack<int> st = new Stack<int>();
 
// Function to push digits into stack
public static void push_digits(int number)
{
    while (number != 0)
    {
        st.Push(number % 10);
        number = number / 10;
    }
}
 
// Function to reverse the number
public static int reverse_number(int number)
{
    // Function call to push number's
    // digits to stack
    push_digits(number);
    int reverse = 0;
    int i = 1;
 
    // Popping the digits and forming
    // the reversed number
    while (st.Count > 0)
    {
        reverse = reverse + (st.Peek() * i);
        st.Pop();
        i = i * 10;
    }
 
    // Return the reversed number formed
    return reverse;
}
 
// Driver Code
public static void Main(string[] args)
{
    int number = 39997;
    Console.WriteLine(reverse_number(number));
}
}
 
// This code is contributed by Shrikant13

PHP

<?php
// PHP program to reverse the number
// using a stack
 
// Stack to maintain order of digits
$st = array();
 
// Function to push digits into stack
function push_digits($number)
{
    global $st;
    while ($number != 0)
    {
        array_push($st, $number % 10);
        $number = (int)($number / 10);
    }
}
 
// Function to reverse the number
function reverse_number($number)
{
    global $st;
     
    // Function call to push number's
    // digits to stack
    push_digits($number);
     
    $reverse = 0;
    $i = 1;
     
    // Popping the digits and forming
    // the reversed number
    while (!empty($st))
    {
        $reverse = $reverse +
                  ($st[count($st) - 1] * $i);
        array_pop($st);
        $i = $i * 10;
    }
     
    // Return the reversed number formed
    return $reverse;
}
 
// Driver Code
$number = 39997;
 
// Function call to reverse number
echo reverse_number($number);
 
// This code is contributed by mits
?>

Javascript

<script>
 // JavaScript program for the above approach
 
        // Stack to maintain order of digits
        let st = [];
 
        // Function to push digits into stack
        function push_digits(number)
        {
            while (number != 0)
            {
                st.push(number % 10);
                number = Math.floor(number / 10);
            }
        }
 
        // Function to reverse the number
        function reverse_number(number)
        {
         
            // Function call to push number's
            // digits to stack
            push_digits(number);
 
            let reverse = 0;
            let i = 1;
 
            // Popping the digits and forming
            // the reversed number
            while (st.length != 0) {
                reverse = reverse + (st[st.length - 1] * i);
                st.pop();
                i = i * 10;
            }
 
            // Return the reversed number formed
            return reverse;
        }
 
        // Driver program to test above function
        let number = 39997;
 
        // Function call to reverse number
        document.write(reverse_number(number));
 
// This code is contributed by Potta Lokesh
</script>

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *