(真的很忙穿撮,所以博客記錄得非常粗糙斩松,見諒)
文章鏈接:https://programmercarl.com/%E6%A0%88%E4%B8%8E%E9%98%9F%E5%88%97%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html
?232.用棧實現隊列:https://programmercarl.com/0232.%E7%94%A8%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.html
225.?用隊列實現棧:https://programmercarl.com/0225.%E7%94%A8%E9%98%9F%E5%88%97%E5%AE%9E%E7%8E%B0%E6%A0%88.html
自己看到題目的第一想法:幾乎沒有想法蔼水,通過棧實現隊列還有一丟丟想法在我知道了要用兩個棧來實現之后猿诸,但是通過隊列實現棧我?guī)缀跏菦]有想法,因為我怎么也想不到第二個隊列是用來備份的公你,我還限制在前一題的思維中
看完代碼隨想錄之后的想法:
1. 用棧實現隊列:有兩個stacks原朝,一個inStack一個outStack驯嘱,在push的時候無所謂,可以直接push到instack里面喳坠,但是在pop的時候鞠评,是從outStack里面pop,如果outStack里有東西就直接pop壕鹉,如果沒東西剃幌,就把inStack里所有的elements全部pop到outStack里去,最后通過判斷是否inStack和outStack都是empty來決定隊列是否empty御板;
2. 用隊列實現棧:有兩個queue锥忿,其中一個是備份,當top和pop時怠肋,要把第一個隊列中的除了最后一個元素以外的所有元素都放進第二個隊列,然后pop第一個隊列的最后一個元素淹朋,然后再把第二個隊列的elements再加回第一個隊列笙各。
自己實現過程中遇到哪些困難:沒有想到如何用備份去解決用隊列如何實現棧
今日收獲钉答,記錄一下自己的學習時長:對棧和隊列都有了更清晰的認知,學習時長6小時