Problem#
要你用兩個 queue 去實作 stack
follow-up: 可不可以只用一個 queue
測資限制#
- $1 \le x \le 9$: 推入的數字
- 最多 100 次呼叫
push
和pop
數量成對
想法#
pop 的時候額外開一個 queue 去 pop n-1
個到裏面,剩下的 1 個數字真的 pop 掉,其餘的操作都看原本的 queue。
注意原本的 queue 裡頭只剩下一個元素,然後要 pop 的狀況
- 時間複雜度: $\mathcal{O}(n)$
- 其中一個操作是 $O(n)$
- 空間複雜度: $\mathcal{O}(n)$
- queue
AC Code#
心得#
看留言有人說這題是: Make you try to think out of the box. 但我覺得是廢題,多此一舉www
要實作 queue 就好好用陣列實作就好,為什麼還要刻意搞你ㄏㄏ