棧之各種括號匹配
阿新 • • 發佈:2018-12-22
1.【題目描述】
假設一個表示式有英文字母(小寫)、運算子(+,—,*,/)和左右小(圓)括號構成,以“@”作為表示式的結束符。請編寫一個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回“YES”;否則返回“NO”。表示式長度小於255,左圓括號少於20個。
【輸入】
一行資料,即表示式。
【輸出】
一行,即“YES” 或“NO”。
【輸入樣例】
2*(x+y)/(1-x)@
【輸出樣例】
YES
先來一個簡單的吧!
2.【題目描述】
假設表示式中允許包含兩種括號:圓括號和方括號,其巢狀的順序隨意,如([ ]())或[([ ][ ])]等為正確的匹配,[( ])或([ ]( )或 ( ( ) ) )均為錯誤的匹配。
現在的問題是,要求檢驗一個給定表示式中的括弧是否正確匹配?
輸入一個只包含圓括號和方括號的字串,判斷字串中的括號是否匹配,匹配就輸出 “OK” ,不匹配就輸出“Wrong”。輸入一個字串:[([][])],輸出:OK。
【輸入】
輸入僅一行字元(字元個數小於255)。
【輸出】
匹配就輸出 “OK” ,不匹配就輸出“Wrong”。
【輸入樣例】
[(])
【輸出樣例】
Wrong
一樣的型別吧,一樣的套路。
這道題一開始用了一堆堆的if
後來想了想可以套一下。
結果就出來了
3.【題目描述】
字串中只含有括號 (),[],<>,{},判斷輸入的字串中括號是否匹配。如果括號有互相包含的形式,從內到外必須是<>,(),[],{},例如。輸入: [()] 輸出:YES,而輸入([]),([)]都應該輸出NO。
【輸入】
第一行為一個整數n,表示以下有多少個由括好組成的字串。接下來的n行,每行都是一個由括號組成的長度不超過255的字串。
【輸出】
在輸出檔案中有n行,每行都是YES或NO。
【輸入樣例】
5 {}{}<><>()()[][] {{}}{{}}<<>><<>>(())(())[[]][[]] {{}}{{}}<<>><<>>(())(())[[]][[]] {<>}{[]}<<<>><<>>>((<>))(())[[(<>)]][[]] ><}{{[]}<<<>><<>>>((<>))(())[[(<>)]][[]]
【輸出樣例】
YES YES YES YES NO
這道題還是一樣的型別,但不知道為啥總是過不去。
待我思索思索,再來。。。。。。