牛客網 劍指office 棧的壓入 彈出序列

2021-09-20 03:50:49 字數 476 閱讀 8240

題目:輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。(注意:這兩個序列的長度是相等的)

思路:逐個將pushv裡的數壓入乙個棧中,在每一次壓入的過程中,都要判斷當前棧頂的值是否等於popv當前遍歷位置的值,如果相等,則將棧頂的數pop出,開始考慮popv的下乙個值,直到棧為空或到popv的末尾或二者不相等,開始下一次迴圈。

最後當棧為空,並且popv裡的數都遍歷完成,即為true,否則為false。

class solution 

} if (st.empty() && j == popv.size()) return true;

else return false;

}};

牛客網劍指offer 棧的壓入彈出序列是否匹配

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列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就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度...