我需要在C++中使用递归来反转堆栈。我只能使用pop
,push
和reverseStack
,没有额外的功能,例如insertAtBottom,这是我在搜索stackoverflow和web时发现的。递归反转堆栈
我已经试过:
void Stack::reverseStack(){
if (isEmpty())
return;
else{
int x;
pop(x);
reverseStack();
push(x);
}
}
,但是这将创建一个堆完全一样原始。
您是否允许将物品推入第二个堆栈,然后在最后交换堆栈? – Wyzard 2015-04-02 02:47:35