logo CodeStepByStep logo


Language/Type: C++ recursion stutterStack
Related Links:
Author: Marty Stepp (on 2016/07/03)

Write a recursive function named stutterStack that accepts a Stack of integers as a parameter and replaces every value in the stack with two occurrences of that value. For example, suppose a stack named s stores these values, from bottom => top:

{13, 27, 1, -4, 0, 9}

Then the call of stutterstack(s); should change the stack to store the following values:

{13, 13, 27, 27, 1, 1, -4, -4, 0, 0, 9, 9}

Notice that you must preserve the original order. In the original stack the 9 was at the top and would have been popped first. In the new stack the two 9s would be the first values popped from the stack. If the original stack is empty, the result should be empty as well.

Constraints: Your solution must be recursive. Do not use any loops. Do not use any auxiliary collections or data structures to solve this problem.

Type your solution here:

This is a function problem. Write a C++ function as described. Do not write a complete program; just the function(s) above.

You must log in before you can solve this problem.

Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.

© Marty Stepp, all rights reserved.