Reverse Number Recursively

Reverse a number recursively.

Logic BuildingIntermediate
Logic Building
def reverse_number(n, rev=0):
    # Base case
    if n == 0:
        return rev
    
    # Recursive case
    last_digit = n % 10
    rev = rev * 10 + last_digit
    return reverse_number(n // 10, rev)

# Test
num = int(input("Enter a number: "))
result = reverse_number(abs(num))
if num < 0:
    result = -result
print(f"Reversed: {result}")

Output

Enter a number: 12345
Reversed: 54321

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