This interview question requires you to reverse a string using recursion. Make sure to think of the base case here.
Again, make sure you use recursion to accomplish this. Do not slice (e.g. string[::-1]) or use iteration, there must be a recursive call for the function.
def reverse(s): if(len(s)<=1): return s else: m = int(len(s)/2) return reverse(s[m:]) + (reverse((s[:m]))) pass
reverse('hello world')
‘dlrow olleh’
Run the cell below to test your solution against the following cases:
string = 'hello' string = 'hello world' string = '123456789'
''' RUN THIS CELL TO TEST YOUR FUNCTION AGAINST SOME TEST CASES ''' from nose.tools import assert_equal class TestReverse(object): def test_rev(self,solution): assert_equal(solution('hello'),'olleh') assert_equal(solution('hello world'),'dlrow olleh') assert_equal(solution('123456789'),'987654321') print ('PASSED ALL TEST CASES!') # Run Tests test = TestReverse() test.test_rev(reverse)
PASSED ALL TEST CASES!
Recommended: Introduction to Recursion
If you like my post please follow me to read my latest post on programming and technology.
The formula for the area of a circle is given by πr². Use the Monte…
Given an integer k and a string s, write a function to determine the length…
There is a staircase with N steps, and you can ascend either 1 step or…
Build an autocomplete system that, given a query string s and a set of possible…
Design a job scheduler that accepts a function f and an integer n. The scheduler…
Problem Statement (Asked By Airbnb) Given a list of integers, write a function to compute…