題目:輸入兩個整數序列。其中一個序列表示棧的push順序,判斷另一個序列有沒有可能是對應的pop順序。爲了簡單起見,我們假設push序列的任意兩個整數都是不相等的。
例一:push序列爲12345,pop序列爲45321
解法一:設計一個輔助棧。第一個pop的爲4,將push序列中4之前所有元素push進棧。然後將4 push再pop。第二個爲5,此時棧頂元素爲3。繼續遍歷push序列,將5之前的所有元素push,然後將5 push再pop。下一個pop的喂3,剛好是棧頂。這樣直到把所有元素都pop。
例二:push序列爲12345,pop序列爲42531
在pop完4之後,棧頂爲3。所以繼續遍歷push,但是在4之後找不到值爲2的元素。所以該序列不是pop序列。
如果給定的是pop序列,需要判斷的是push序列,過程一樣。
微軟,Google面試題 (24) —— 棧的push、pop序列
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
阿里淘系自研編解碼器包攬兩項世界冠軍!
osc_hzf6peqc
2024-05-14 01:40:19
一文搞懂 Spring 循環依賴
原創
2024-06-06 13:11:47
營銷系統黑名單優化:位圖的應用解析
京東雲開發者
2024-06-06 11:54:12
導入地址表鉤取技術解析
原創
2024-06-06 11:14:53
一文帶你理解透MyBatis源碼
原創
2024-06-03 10:59:21
DataCube 漏洞小結
原創
2024-05-30 11:16:40
在一次滲透中學會編寫Tamper腳本
原創
2024-05-22 11:16:41
前端面試題 - vue的雙向綁定原理是什麼?
原創
2024-05-17 00:41:12
前端面試題 - Node JS與V8是什麼關係?
原創
2024-05-16 12:41:41
前端面試題 - V8是什麼?
原創
2024-05-16 12:41:40
Spring知識點詳解(源碼筆記+思維導圖),AOP和IOC
osc_r0irdqn7
2024-05-14 01:47:38
我是如何再衆多面試大佬中脫穎而出的,就憑藉這份近4000頁Java筆試題,讓我在阿里 ,美團,華爲,百度等衆多大廠面試中如魚得水!
osc_5rzx0ke2
2024-05-14 00:46:45
記一次特別的未授權訪問
原創
2024-05-13 23:18:59
[js] 寫一個格式化時間的方法
osc_6mbnx553
2024-05-13 22:07:18