解释一:从队列的概念可以知道,队列无非是先进先出,而栈是先进后出,如果要栈s1 做出队列的行为,只能用另外一个栈s2接收s1的size-1个元素,然后把栈s1栈底元素弹出,再把s2的元素重新压入栈s1即可
解释二:也可以稍作优化,比如不再倒回,这样可以优化连续弹出
至于两个队列实现一个栈稍有不同,两个队列均可以作为存储之用,每次pop,并且push到另外一个队列,将最后一个弹出即可
解释一:从队列的概念可以知道,队列无非是先进先出,而栈是先进后出,如果要栈s1 做出队列的行为,只能用另外一个栈s2接收s1的size-1个元素,然后把栈s1栈底元素弹出,再把s2的元素重新压入栈s1即可
解释二:也可以稍作优化,比如不再倒回,这样可以优化连续弹出
至于两个队列实现一个栈稍有不同,两个队列均可以作为存储之用,每次pop,并且push到另外一个队列,将最后一个弹出即可