iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
自我挑戰組

Java × LeetCode-30天日記系列 第 11

Day 11:Implement Queue using Stacks (LC #232)

  • 分享至 

  • xImage
  •  

題目理解
我的理解 : 實作一個 Queue,但只能用 Stack來完成。
方法

  • 使用兩個 Stack:inStack(輸入) 和 outStack(輸出)。
  • push:把元素放進 inStack。
  • pop / peek:若 outStack 為空,先把 inStack 的元素一個個倒進 outStack,再操作。
  • empty:當兩個 stack 都空時,表示 queue 為空。
    https://ithelp.ithome.com.tw/upload/images/20250925/20169238dj8ZYQFfkv.png

心得
這題的核心技巧是 用兩個 Stack 互補限制,來模擬 Queue 的 FIFO 行為,取出元素時,若 outStack 為空,就一次性把 inStack 的元素倒進 outStack,確保順序正,與前幾天題目的相同之處在於都使用 Stack 作為主要資料結構。


上一篇
Day 10:Min Stack (LC #155)
下一篇
Day 12:LRU Cache (LC #146) ➝ LinkedHashMap應用
系列文
Java × LeetCode-30天日記12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言