棧的相關面試題

2021-08-19 18:48:43 字數 380 閱讀 4927

完整**:

用乙個額外的棧存放當前棧的最小值。

push:當資料棧入元素時做乙個判斷,如果元素小於等於最小棧的棧頂元素,就給兩個元素都入棧。

pop:資料棧出元素時,若兩個棧頂元素相等,則兩個棧都出元素,否則只出資料棧。

乙個棧入元素,乙個棧出元素。

pop:出元素時,如果為空則需要將棧a元素倒到b棧。額外考慮兩棧均空。

如輸入 ,輸出

兩個字串指標,in,out。

如果out 和 棧頂元素不相等(或棧空),則入棧in的元素,若in走完則是錯誤順序。

如果out和棧頂元素相等,出棧元素,out++。

如果out走完了則是正確順序。

乙個top =0,乙個top =1.入棧時各+=2.

面試題相關

一些位址 osi七層功能及協議 資料鏈路層是如何定址的?傳送方 已知接收方ip arp 接收方mac位址 交換機尋找該mac位址所在埠,把幀往這個埠 mac通過rarp轉為ip位址。可靠通訊是靠哪一層來完成的?網路層 tcp協議 100base t 100mbps,baseband,雙絞線對。簡而言...

棧和佇列的相關面試題(詳解)

include include includeusing namespace std 實現乙個棧,要求實現push 入棧 pop 出棧 min 返回最小值的操作 時間複雜度為o 1 方法一 用兩個棧實現,先同時往s1,和min裡面入第乙個元素,接著s1正常入,同時 min入的時候用s1棧頂相比,如果...

面試題 棧排序

棧排序。編寫程式,對棧進行排序使最小元素位於棧頂。最多只能使用乙個其他的臨時棧存放資料,但不得將元素複製到別的資料結構 如陣列 中。該棧支援如下操作 push pop peek 和 isempty。當棧為空時,peek 返回 1。輸入 sortedstack push push peek pop p...