LeetCode 题解:232. 用栈实现队列,使用两个栈 入队 - O(n), 出队 - O(1),JavaScript,详细注释
原题链接:https://leetcode-cn.com/problems/implement-queue-using-stacks/
解题思路:
参考了官方题解中的方法一(使用两个栈 入队 - O(n)O(n), 出队 - O(1)O(1))。
入队时,将s1的元素倒过来存入s2。
再将入队元素存在s2的栈顶,这样s2中的元素顺序就与入队顺序相同。
最后将s2元素再倒过来存入s1,这样s1中元素的顺序与入队顺序相反,此时进行出栈操作的元素就与出队操作相同。
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/eac49c92397a3dd320f9d2ef4】。文章转载请联系作者。
评论