題目大意,給出兩個序列乙個代表壓入序列,乙個代表彈出序列,判斷這是否是乙個合理的彈出序列。
一開始看到這個問題的時候直接想到了二叉樹的先序中序,構造後續(我也不知道我的思路為什麼這麼清奇)。
後來發現自己的思路歪了,然後簡單的認為只需要判斷彈出序列中,在判斷某個數是否合理時,只需要判斷在他之前彈出的數是否在壓入序列中排在他的後面。但是後來想想又不對,頓時陷入僵局。
後來檢視了討論中的**。
直接使用vector去模擬壓入彈出過程即可= =,如果最後全部彈出了,那麼就是合理的,沒有全部彈出那麼就是不合理的。
我的天啊,感覺自己的腦子已經不夠用了
改造了一下,使用棧
bool ispoporder(vectorpushv, vectorpopv)
} return s.empty();
}
牛客網 棧的壓入 彈出序列
題目描述 輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度...
牛客網15 棧的壓入 彈出序列
題目描述 輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列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就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度...