Reverse Number Recursively

Reverse a number recursively.

IntermediatePhase 3 - Level 2: Advanced RecursionExample 2 of 10
reverse-number-recursively.py
1def reverse_number(n, rev=0):
2 # Base case
3 if n == 0:
4 return rev
5
6 # Recursive case
7 last_digit = n % 10
8 rev = rev * 10 + last_digit
9 return reverse_number(n // 10, rev)
10
11# Test
12num = int(input("Enter a number: "))
13result = reverse_number(abs(num))
14if num < 0:
15 result = -result
16print(f"Reversed: {result}")

Output

Enter a number: 12345
Reversed: 54321

What's going on

Build reversed number using accumulator.

Key Concepts:

Use accumulator parameter
Extract last digit and add to reversed
Recurse with remaining digits
Base case returns accumulated reversed