完整**:
用乙個額外的棧存放當前棧的最小值。
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...