C Program to reverse the digits of a number using recursion

Given an integer N, the task is to reverse the digits of given integer using recursion.
Examples:
Input: N = 123
Output: 321
Explanation:
The reverse of the given number is 321.Input: N = 12532
Output: 23521
Explanation:
The reverse of the given number is 23521.
Approach: Follow the steps below to solve the problem:
- Recursively iterate every digit of N.
- If the current value of N passed is less than 10, return N.
if(num < 10) Â Â Â return N;
- Otherwise, after each recursive call (except the base case), return the recursive function for next iteration:
  return reverse(N/10) + ((N%10)*(pow(10, (floor(log10(abs(N))))))) where, floor(log10(abs(x))) gives the count of digits of x ((x%10)*(pow(10, (floor(log10(abs(x))))))) places the extracted unit place digits (x%10) to their desired positions
Below is the implementation of the above approach:
C
// C program for the above approachÂ
#include <math.h>#include <stdio.h>#include <stdlib.h>Â
// Function to reverse the digits of// the given integerint reverse(int N){    return ((N <= 9))               ? N               : reverse(N / 10)                     + ((N % 10)                        * (pow(10,                               (floor(log10(                                   abs(N)))))));}Â
// Utility function to reverse the// digits of the given integervoid reverseUtil(int N){    // Stores reversed integer    int result = reverse(N);Â
    // Print reversed integer    printf("%d", result);}Â
// Driver Codeint main(){Â Â Â Â // Given integer NÂ Â Â Â int N = 123;Â
    // Function Call    reverseUtil(N);Â
    return 0;} |
Output:
321
Time Complexity: O(log10N)
Auxiliary Space: O(log10N) for call stack
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



