輸入兩個整數序列。其中一個序列表示棧的push順序,判斷另一個序列有沒有可能是對應的pop順序。為了簡單起見,我們假設push序列的任意兩個整數都是不相等的。 比如輸入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一個pop系列。因為可以有如下的push和pop序列 ...
例如序列 , , , , 是某棧的壓入順序,序列 , , , , 是該壓棧序列對應的一個彈出序列,但 , , , , 就不可能是該壓棧序列的彈出序列。 思路: 建立一個輔助棧s,把序列 , , , , 依次壓入輔助棧s,並按照第二個序列 , , , , 的順序從輔助棧s中彈出數字。 先將序列 , , , , 依次壓入棧s,每次壓棧時都判斷棧s的當前棧頂元素跟序列 , , , , 的第一個元素是否相 ...
2015-12-20 22:04 0 3608 推薦指數:
輸入兩個整數序列。其中一個序列表示棧的push順序,判斷另一個序列有沒有可能是對應的pop順序。為了簡單起見,我們假設push序列的任意兩個整數都是不相等的。 比如輸入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一個pop系列。因為可以有如下的push和pop序列 ...
題目描述 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。(注意 ...
【題目】輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。 【思路】借用一個輔助 ...
問題 判斷一數字序列是否為這些數字入棧的一種出棧方式(前提:棧中的數字不重復) 例如 假設入棧的序列為:1 2 3 4 5 那么4 5 3 2 1為一種彈出序列, 4 3 5 1 2不是 思路 開辟一個輔助棧,模擬入棧出戰過程(假設pa為入棧序列,pb為出戰序列) pa中的元素 ...
題目:棧的壓入、彈出序列 題目描述:輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出 ...
本文參考自《劍指offer》一書,代碼采用Java語言。 更多:《劍指Offer》Java實現合集 題目 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1、2、3、4、5是某棧的壓棧序列,序列 ...
合理的出棧順序也是面試算法經常考察的一部分,堆棧(stack)的后進先出性質我們都了解。如果給定了一個入棧的序列,判斷一個序列是否為合理的出棧順序該如何進行呢。 例如,我們給定了入棧順序為 1,2,3,4,5 那么【序列1】3,2,5,4,1 是合理的; 【序列 ...