In Python, we can reverse a string with recursion using a recursive function.
string = "Hello"
def reverse_string(string):
if len(string) == 1:
return string
return reverse_string(string[1:]) + string[0:1]
print(reverse_string(string))
#Output:
olleH
When using string variables in Python, we can easily perform string manipulation to change the values or order of the characters in our string.
One such manipulation is to reverse a string. In Python, there is a built-in function called reverse(), but there are other ways we can reverse a string without the reverse() function.
We can reverse a string in Python without the reverse() function with a recursive function.
For recursion, we need to define a base case and a recursive step.
The base case for our recursive reverse function is when our string has a length of one. The recursive step keeps slicing the string from the second character to the end and add the first character to the end.
Below are some examples of how to recursively reverse a string in Python.
string = "Hello"
def reverse_string(string):
if len(string) == 1:
return string
return reverse_string(string[1:]) + string[0:1]
print(reverse_string("Hello"))
print(reverse_string("Good Bye"))
print(reverse_string("My name is Billy"))
#Output:
olleH
eyB dooG
ylliB si eman yM
Reverse a List Without reverse() Function in Python Using Recursion
In an almost identical way, we can reverse a list in Python without the reverse() function using recursion.
To reverse a list using recursion, the base case for our recursive reverse function is when our list has a length of one. The recursive step keeps slicing the list from the second element to the end and add the first element to the end.
Below is an example of how to use recursion to reverse a list in Python.
lst = [1,2,3,4]
def reverse_list(l):
if len(l) == 1:
return l
return reverse_list(l[1:]) + l[0:1]
print(reverse_list(lst))
#Output:
[4,3,2,1]
Hopefully this article has been useful for you to learn how to reverse a string using recursion in Python.