【LeetCode笔记】232. 用栈实现队列(Java、栈、队列)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】232. 用栈实现队列(Java、栈、队列)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
- 經典題了,貌似現在面試也有點喜歡問,今天補補題!
- 要實現均攤時間復雜度O(1)噢
思路 & 代碼
- 用兩個棧來實現:輸出棧 & 輸入棧
- 輸出棧 out:負責 pop、peek
- 輸入棧 in:負責 push
- 關鍵點:in.size() + out.size() == MyQueue.size(),也就是隊列元素分布在兩個棧中
- peek & pop:會有一個倒棧處理,把 in 的內容全倒入 out 中。
更新版
- 換成 ArrayDeque()
總結
以上是生活随笔為你收集整理的【LeetCode笔记】232. 用栈实现队列(Java、栈、队列)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode笔记】32. 最长有效
- 下一篇: 【LeetCode笔记】621. 任务调