棧的壓入 彈出序列

2021-10-03 05:45:47 字數 544 閱讀 3746

已知兩個陣列,pushv存的是棧的壓入序列,本題需要判斷popv序列是不是pushv的彈出序列

做法:找乙個輔助的棧,只要這個棧的空或者棧頂不等於當前的popv[i]的元素,就不斷的向輔助棧中壓入這個元素,直到棧不空,並且棧頂與popv[i]相等,就直接pop這個輔助棧,但是有個問題就是,在壓入的時候j有可能會》n,如果一旦大於,則不可能是彈出序列,最終的判斷是這個棧是不是空的棧,如果是空的話,popv就是pushv的彈出序列。(本題的兩個系列是相等的)

下面是自己寫的**:如果大佬發現問題可以告訴我!

class

solution

st.pop();

//一旦輔助棧的棧頂元素與當前該彈棧的元素相同,就彈出這個元素}if

(st.

empty()

)return

true

;else

return

false;}

};

棧的壓入彈出序列

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

棧的壓入彈出序列

1.問題描述 輸入兩個整數序列,第乙個序列表示棧的壓入序列,請判斷第二個序列是否為該棧的彈出序列。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓棧序列,序列4,5,3,2,1是該棧序列對應的乙個彈出序列,但 4,3,5,1,2,就不可能是該壓棧序列的彈出序列。來自 劍指offer...