I was asked at an interview, the efficient way to solve a problem checking for pallindrome.
Now i can do two things:
Have a read at
Basically, a recursive algorithm will add overhead since you store recursive calls in the execution stack.
But if the recursive function is the last line of the call (tail recursion) then there is no additional penalty.
That is of course both algorithms are the same.
In theory they have the same space complexity; it largely depends on whether tail recursion can be optimized.
If so, the stack gets replaced at every recursion so it doesn't incur a penalty.