21. 棧的壓入、彈出序列

題目描述

輸入兩個整數(shù)序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設(shè)壓入棧的所有數(shù)字均不相等。

例如序列 1,2,3,4,5 是某棧的壓入順序,序列 4,5,3,2,1 是該壓棧序列對應的一個彈出序列,但 4,3,5,1,2 就不可能是該壓棧序列的彈出序列。

解題思路

使用一個棧來模擬壓入彈出操作。

代碼實現(xiàn)

public boolean IsPopOrder(int[] pushSequence, int[] popSequence) {
    int n = pushSequence.length;
    Stack<Integer> stack = new Stack<>();
    for (int pushIndex = 0, popIndex = 0; pushIndex < n; pushIndex++) {
        stack.push(pushSequence[pushIndex]);
        while (popIndex < n && !stack.isEmpty() 
                && stack.peek() == popSequence[popIndex]) {
            stack.pop();
            popIndex++;
        }
    }
    return stack.isEmpty();
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 2018年12月13日 星期四 寒冬的夜晚總是早早就到來 路燈透過車窗 影子總是從后面移動到前面 然后消失不見 接...
    墨菲的世界閱讀 428評論 0 1
  • 需要在應用內(nèi)使用com.lampa.startapp等插件打開第三方的app是需要將第三方APP寫進白名單的,否則...
    TT_拓泥閱讀 1,703評論 1 0
  • 夢想花開讀寫人生第11天,還有89天 很多人都會談到教育出現(xiàn)了很多問題,可是,我們的教育到底哪里出現(xiàn)了問題...
    牛志榮閱讀 346評論 0 0
  • 今天是新年過后的第二天,在朋友圈才知道,今天也叫“迎婿日”。就是出嫁的姑娘要拖家?guī)Э诘幕啬锛业娜兆印?今天我卻沒能...
    八七在路上閱讀 472評論 0 6

友情鏈接更多精彩內(nèi)容