原文:棧_判斷出棧序列是否合法

關於棧結構的一個簡單練習是:給定入棧的字符序列,判斷當前序列能否由初始序列通過一系列的進棧出棧操作得到。下面通過展示兩道這種類型的題目來總結一下這種問題處理的思路。 在大方向上,我們應該都是通過基礎的棧的進棧出棧操作來模擬生成目標串的過程,判斷在過程中有沒有不合邏輯之處 。但是在具體實現上可以用多種寫法,比如可以以原串為主,也可以以當前串為主來進行循環。 第一題我用了鏈棧來實現。 用i,j兩個指針 ...

2020-04-15 21:40 0 595 推薦指數:

查看詳情

【劍指offer】判斷序列是否合法

輸入兩個整數序列,第一個序列表示的壓入順序,請判斷第二個序列是否可能為該的彈出順序。假設壓入的所有數字均不相等。例如序列1,2,3,4,5是某的壓入順序,序列4,5,3,2,1是該壓序列對應的一個彈出序列,但4,3,5,1,2就不可能是該壓序列的彈出序列。(注意:這兩個序列的長度是相等 ...

Sat Dec 01 15:51:00 CST 2018 0 1052
面試題之判斷的入和出序列合法

完整題目是這樣的:給我們兩個序列,第一個序列表示的壓入順序,然后讓判斷第二個序列是不是是否是該的彈出序列。現設第一個序列為[1,2,3,4,5],第二個序列為[3,2,5,4,1],可以看出這個出順序是合法的,那么我們怎么通過程序來驗證呢? 既然是判斷的出順序 ...

Tue Aug 16 19:59:00 CST 2016 0 2105
判斷順序是否正確(的壓入、彈出序列)

輸入兩個整數序列。其中一個序列表示的push順序,判斷另一個序列有沒有可能是對應的pop順序。為了簡單起見,我們假設push序列的任意兩個整數都是不相等的。   比如輸入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一個pop系列。因為可以有如下的push和pop序列 ...

Tue Jul 28 01:55:00 CST 2015 0 5532
判斷一個序列是否為合理的出順序

合理的出順序也是面試算法經常考察的一部分,堆棧(stack)的后進先出性質我們都了解。如果給定了一個入序列判斷一個序列是否為合理的出順序該如何進行呢。 例如,我們給定了入順序為 1,2,3,4,5 那么【序列1】3,2,5,4,1 是合理的; 【序列 ...

Wed Jul 10 05:52:00 CST 2019 0 716
【學習筆記--數據結構】合法的出序列混洗

在大學學過數據結構課的人相信都對這樣一個問題不陌生,描述大致如下:   某個程序可以進行一系列入和出的混合操作。每次入操作將整數0到9中的一個元素按順序壓入,出操作打印彈出頂的整數。問給出的一個打印序列是否合法。   這道題應該是數據結構考試的一道經典問題了。如果是在卷面上作答 ...

Thu Jul 19 06:01:00 CST 2018 0 1703
根據入順序判斷順序的合法

這道題不管是面試還是筆試的選擇題都非常愛出的一道題 題目描述: 輸入兩個整數序列,第一個序列表示的壓入順序,請判斷第二個序列是否為該的彈出順序。假設壓入的所有數字均不相等。例如序列1,2,3,4,5是某的壓入順序,序列4,5,3,2,1是該壓序列對應的一個 ...

Tue Apr 05 19:13:00 CST 2016 0 2994
C語言數據結構 判斷序列合法

具體思路看視頻講解 把出序列看成是一個隊列, 同時定義一個,每次壓入一個元素到中,對比頂元素和隊頭元素是否相等,若相等則出當前元素並且出隊出序列 若當前頂元素不等於隊列頭元素,則持續壓 具體講解看視頻講解:合法性的判斷 ...

Sat Sep 19 00:04:00 CST 2020 0 506
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM