【发布时间】:2015-06-06 21:00:36
【问题描述】:
我需要在 C++ 中使用递归来反转堆栈。我只能使用pop、push和reverseStack,没有其他功能,例如我在搜索stackoverflow和网络时发现的insertAtBottom。
我试过了:
void Stack::reverseStack(){
if (isEmpty())
return;
else{
int x;
pop(x);
reverseStack();
push(x);
}
}
但这会创建一个与原始堆栈完全相同的堆栈。
【问题讨论】:
-
是否允许将项目推入第二个堆栈,然后在最后交换堆栈?
标签: c++ recursion stack reverse