• 小妙招——栈和队列的相互转化

    2015/09/20 王先生

用两个栈来实现一个队列的功能:
入队:将元素进栈A
出队:判断栈B是否为空,如果为空,则将栈A里的所有元素pop,并push进栈B,栈B出栈。
出栈:如果不为空,栈B直接出栈。

用两个队列实现一个栈的功能:
入栈:将元素进队列A
出栈:判断队列A中元素的个数是否为1,如果等于1,则出队列。否则将队列A中的元素依次放入队列B,直到队列A中的元素留下一个,然后队列A出队列,再把队列B中的元素出队列依次放入队列A中。

1 收藏


直接登录