1.1 問題描述
假設以1 和0 分別表示入棧和出棧操作。棧的初態和終態均為空,入棧和出棧的操作序列可表示為僅由1 和0 組成的序列,稱可以操作的序列為合法序列,否則稱為非法序列。寫出乙個演算法,判定所給的操作序列是否合法。若合法,返回1,否則返回0。輸入序列的長度不超過30個操作1.2 輸入形式
第乙個數字為操作序列的總數 後面的為操作序列的具體內容,每兩個操作之間以空格鍵隔開。1.3 輸出形式
如果操作序列為合法序列,輸出1,如果操作序列為非法序列,輸出0;1.4 樣例輸入
4 1 1 1 11.5 樣例輸出設定變數stacknum來記錄當前棧中元素的個數
還是挺簡單噠。
判斷乙個序列是否是棧的合法序列
棧的合法序列是就是通過一定次序的入棧,出棧後,能夠得到的有順序的一串數,比如說,我們將12345這五個數按照一定的入棧出棧順序進行出入棧,可以得到12345,54321 45321等序列。啦啦啦,重點來啦!我們不如就拿45321來舉例子吧 首先我們把45321這個序列存到乙個棧 s 裡面去,在宣告乙...
判斷乙個鍊錶是否為回文序列
給你乙個單鏈表的頭節點head,請你判斷該鍊錶是否為回文鍊錶。如果是,返回true 否則,返回false。示例 1 輸入 head 1,2,2,1 輸出 true 示例 2 輸入 head 1,2 輸出 false 高階 你能否用o n 時間複雜度和o 1 空間複雜度解決此題?這道題一看到,一般的想...
判斷出棧序列是否合法
問題描述 對於乙個棧,已知元素的進棧序列,判斷乙個由棧中所有元素組成的排列是否是可能的出棧序列。比如,進棧序列為1 2 3 4,則可能的出棧序列有4 3 2 1,1 4 3 2等。而1 4 2 3就不是。輸入形式 從標準輸入讀取第一行是乙個整數n 3 n 10 代表有n個元素,其進棧序列是1 2 3...