我在面试中遇到了这个问题。问题是我会收到一个堆栈,并且必须找到堆栈中间位置的元素。“top”索引不可用(因此您不能弹出top/2次并返回答案)。假设当pop()返回-1时,您将到达栈底。不使用任何其他数据结构。
例如:
例如:
stack index
-----
2 nth element
3
99
.
1 n/2 th element
.
-1 bottom of the stack(0th index)
答案:1(我不是指中位数。找到处于中间位置的元素)
递归是唯一的方法吗?
谢谢,
psy