c++ - 比较队列和堆栈的内容

标签 c++ recursion stack queue equality

假设我们在 C++ 中使用 STL 堆栈和队列

    Stack:      [1 2 3 4 5] <=>
    Queue:   => [5 4 3 2 1] =>

递归检查数据条目在内容和顺序方面是否相同的最优雅方法是什么?假设上面显示的堆栈和队列具有相同的数据和相同的顺序。

我在概念上理解该做什么时遇到问题,因为数据 pop() 的顺序相反。

最佳答案

部分递归的解决方案是递归地将队列中的所有元素弹出到辅助堆栈中,然后检查辅助堆栈和原始堆栈是否相同。此检查也可以递归地完成。

关于c++ - 比较队列和堆栈的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15176970/

相关文章:

javascript - 在 javascript 中从堆栈中弹出原型(prototype)会导致未定义

c++ - 检查数组中的总和是否可能

c++ - 我怎样才能让这个函数像左值一样?

javascript - 如何递归调用这个函数?

arrays - 数组从左上角到右下角的路数

python - 如果一个家庭不平衡,如何编写一个函数来获取?

Java 堆栈查看

c++ - C++11 中的 union : default constructor seems to be deleted

C++ 二叉搜索树打印和深度计算

c - 使用递归函数在二叉搜索树中插入项目