【LeetCode】用两个栈实现队列 Java 题解
题目描述
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
复制代码
思路分析
栈和队列是常见的数据结构,栈的特点:LIFO(last-in-first-out), 队列的特点:FIFO (first-in-first-out)。
根据题意,使用两个栈就可以实现队列,代码如下。
代码
复制代码
总结
上述代码的时间复杂度是 O(n), 空间复杂度是 O(n)
坚持每日一题,加油!
版权声明: 本文为 InfoQ 作者【HQ数字卡】的原创文章。
原文链接:【http://xie.infoq.cn/article/5051b1842735254b092e52d89】。文章转载请联系作者。
评论