输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。
生活随笔
收集整理的這篇文章主要介紹了
输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:輸入兩個整數序列。其中一個序列表示棧的push順序,判斷另一個序列有沒有可能是對應的pop順序。為了簡單起見,我們假設push序列的任意兩個整數都是不相等的。
比如輸入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一個pop系列。
因為可以有如下的push和pop序列:
push 1,push 2,push 3,push 4,pop,push 5,pop,pop,pop,pop,
這樣得到的pop序列就是4、5、3、2、1。
但序列4、3、5、1、2就不可能是push序列1、2、3、4、5的pop序列。
java版本
思路:
將push中的數據加入棧中,如果peek與pop相同 那么就彈出,這個比較peek與pop相同應該寫在一個while循環中
最終判斷棧是否是空的以及j是否等于數組長度。
因為如果最后一個j也被判斷了,j++后就是數組的長度。
總結
以上是生活随笔為你收集整理的输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。的全部內容,希望文章能夠幫你解決所遇到的問題。