如何从堆栈中搜索项目?

Lak*_*age 1 algorithm stack data-structures

当我读一些书时,我看到,从堆栈中搜索项目的时间复杂度是O(n).但是我很困惑,如何从堆栈中搜索中间值,因为它是LIFO.

Duk*_*ing 5

堆栈通常实现为数组或链表,您可以通过其中任何一个进行迭代.

如果你有一个纯栈API,它没有为你提供迭代器:

您必须将元素弹出到不同的堆栈,直到找到该元素,然后将其推回.

在此之后,我们将使堆栈恢复原状.