I**A 发帖数: 2345 | 1 看见好几次了。。。
是不是用两个stack来回折腾?这里面有什么trick没? |
p******r 发帖数: 2999 | 2 没啥trick
其中一个用来push,另一个pop
【在 I**A 的大作中提到】 : 看见好几次了。。。 : 是不是用两个stack来回折腾?这里面有什么trick没?
|
y****n 发帖数: 579 | |
p******r 发帖数: 2999 | 4 有区别?
【在 y****n 的大作中提到】 : 用queue实现stack才是真叫折腾。
|
y****n 发帖数: 579 | 5 相比之下time complexity高。
【在 p******r 的大作中提到】 : 有区别?
|
f*********5 发帖数: 576 | 6 stack实现queue的话,可以从push stack一次pop出数个item,放入pop stack。
然后连续对pop stack进行操作即可。。
queue实现stack的话,每次都要用一个queue开始的数个元素pop 出,放入另一个queue,
从而得到queue尾的item,取下一个的时候,又要折腾一遍。。
【在 p******r 的大作中提到】 : 有区别?
|
I**********s 发帖数: 441 | 7 不需要放入另一个queue吧, 就放入原来的queue就可以了.
queue,
【在 f*********5 的大作中提到】 : stack实现queue的话,可以从push stack一次pop出数个item,放入pop stack。 : 然后连续对pop stack进行操作即可。。 : queue实现stack的话,每次都要用一个queue开始的数个元素pop 出,放入另一个queue, : 从而得到queue尾的item,取下一个的时候,又要折腾一遍。。
|
I**A 发帖数: 2345 | 8 huh?不是来回折腾?
Stack s1
Stack s2
比如add item in 的时候, s1.push
需要remove one item的时候,s1统统pop到s1,取最后一个?然后再pop回去?
我不sure是因为觉得这个法子太笨了些
【在 p******r 的大作中提到】 : 没啥trick : 其中一个用来push,另一个pop
|
f*********5 发帖数: 576 | 9 也对
我说的是2个queue实现stack,
跟一个queue的本质是一样的
【在 I**********s 的大作中提到】 : 不需要放入另一个queue吧, 就放入原来的queue就可以了. : : queue,
|
f*********5 发帖数: 576 | 10 为啥要pop回去
你找个例子看需要吗
【在 I**A 的大作中提到】 : huh?不是来回折腾? : Stack s1 : Stack s2 : 比如add item in 的时候, s1.push : 需要remove one item的时候,s1统统pop到s1,取最后一个?然后再pop回去? : 我不sure是因为觉得这个法子太笨了些
|
|
|
I**A 发帖数: 2345 | 11 pushstack: s1
popstack: s2
enqueue(0)
enqueue(1)
enqueue(2)
now s1 has 0,1,2
now. dequeue
我需要0对吧?
if s2 empty..
{
s2.push(s1.pop()); //2 in
s2.push(s1.pop()); //1 in
}
最后pop出我要的0
咦,好像是不用。。。
【在 f*********5 的大作中提到】 : 为啥要pop回去 : 你找个例子看需要吗
|
P***a 发帖数: 774 | 12 one queue can do stack, we don't need two queue
queue,
【在 f*********5 的大作中提到】 : stack实现queue的话,可以从push stack一次pop出数个item,放入pop stack。 : 然后连续对pop stack进行操作即可。。 : queue实现stack的话,每次都要用一个queue开始的数个元素pop 出,放入另一个queue, : 从而得到queue尾的item,取下一个的时候,又要折腾一遍。。
|
I**A 发帖数: 2345 | 13 how?
【在 P***a 的大作中提到】 : one queue can do stack, we don't need two queue : : queue,
|
p******r 发帖数: 2999 | 14 应该是记录个数,dequeue了之后立马enqueue,n-1次之后得到第n个
好残忍啊,吐出来的东西得立马吃回去。。。
【在 I**A 的大作中提到】 : how?
|
I**A 发帖数: 2345 | 15 你dequeue出来的object被enqueue之前存在哪儿?
【在 p******r 的大作中提到】 : 应该是记录个数,dequeue了之后立马enqueue,n-1次之后得到第n个 : 好残忍啊,吐出来的东西得立马吃回去。。。
|
p******r 发帖数: 2999 | 16 。。。
q.enqueue(q.dequeue());
【在 I**A 的大作中提到】 : 你dequeue出来的object被enqueue之前存在哪儿?
|
I**A 发帖数: 2345 | 17 哦,那你是拿时间来换取空间
【在 p******r 的大作中提到】 : 。。。 : q.enqueue(q.dequeue());
|