看板 C_and_CPP 關於我們 聯絡資訊
大家好,最近再寫LeetCode, 遇到了這題 "用兩個Stack來實作一個Queue" 我的想法是 Queue 是 FIFO的概念, 使用lisked list和兩個headPtr及TailPtr分別鎖住頭跟尾 push就加到尾端,pop就從頭搬出。 就可以簡單的完成queue, 那想請問的是這題目"用兩個Stack來實作一個Queue" 需要用到兩個stack的主要用意是甚麼? 有甚麼樣的應用會使用到類似的方法。 順便想問大家, 做了leetcode的題目,挫折感好高 連easy的題目有時候都做不出來,需要要參考其他人的作法 但網路上的神人都超強的,代碼一個比一個精簡, 想請問這樣的功力是天生的還是經驗累積? 大家都會參考別人的作法再變成自己的東西, 如果是天生的,是不是趕快轉行比較快? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.146.193 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450723773.A.C05.html
fatrabitree: 就是純練習 12/22 03:03
※ 編輯: Jruffian (1.171.146.193), 12/22/2015 03:15:48
fatrabitree: 基礎先打一下再去刷leetcode,至少資結跟演算法要看 12/22 03:27
fatrabitree: 這樣至少會做easy 其他就靠經驗 12/22 03:28
Jruffian: 謝謝F大的意見 12/22 04:07
testPtt: 要out的時候放到另一個stack再放回去準備in 12/22 08:15
testPtt: 通常做這種無聊事很偏硬體 可能是記憶體不配位址之類的 12/22 08:22
andrenvq57: push all elements into s1, while s1 not empty: pop 12/22 14:31
andrenvq57: s1, push into s2 這樣就反過來了 12/22 14:32
andrenvq57: pop queue: pop s2. push queue: pop all from s2, pu 12/22 14:35
andrenvq57: sh all to s1, push new element to s1, pop all from 12/22 14:35
andrenvq57: s1, push all to s2 12/22 14:35
HolyBugTw: 兩個杯子倒來倒去,人生能用上的話就有用(用的上嗎?) 12/22 15:35
stupid0319: 用多個Stack來做Queue也是很常見啊,但不是刻意就是了 12/22 17:39