棧 1354 括弧匹配檢驗

2022-08-29 18:00:10 字數 960 閱讀 9964

【題目描述】

假設表示式中允許包含兩種括號:圓括號和方括號,其巢狀的順序隨意,如([ ]())或[([ ][ ])]等為正確的匹配,[( ])或([ ]( )或 ( ( ) ) )均為錯誤的匹配。

現在的問題是,要求檢驗乙個給定表示式中的括弧是否正確匹配?

輸入乙個只包含圓括號和方括號的字串,判斷字串中的括號是否匹配,匹配就輸出 「ok」 ,不匹配就輸出「wrong」。輸入乙個字串:[([][])],輸出:ok。

【輸入】

輸入僅一行字元(字元個數小於255)。

【輸出】

匹配就輸出 「ok」 ,不匹配就輸出「wrong」。

【輸入樣例】

[(])

【輸出樣例】

wrong

【解題思路】

這道題用模擬棧,就可以輕鬆解決。

【源**】

1 #include2 #include3 #include4

using

namespace

std;

5char str[10000];6

int stack[1000];//

用1代表(,2代表),3代表[,4代表]

7int

main()825

else

if(str[i]=='

[')//

記錄左方括號

26 top++,stack[top]=3;27

else

if(str[i]=='

]')//

記錄右方括號

2836}37

if(top==-1

)38 printf("ok"

);39

else

40 printf("

wrong");

41return0;

42 }

括弧匹配檢驗(棧)

description 假設表示式中允許包含兩種括號 圓括號和方括號,其巢狀的順序隨意,如 或 等為正確的匹配,或 或 均為錯誤的匹配。現在的問題是,要求檢驗乙個給定表示式中的括弧是否正確匹配?輸入乙個只包含圓括號和方括號的字串,判斷字串中的括號是否匹配,匹配就輸出 ok 不匹配就輸出 wrong ...

《資訊學奧賽》1354 括弧匹配檢驗

假設表示式中允許包含兩種括號 圓括號和方括號,其巢狀的順序隨意,如 或 等為正確的匹配,或 或 均為錯誤的匹配。現在的問題是,要求檢驗乙個給定表示式中的括弧是否正確匹配?輸入乙個只包含圓括號和方括號的字串,判斷字串中的括號是否匹配,匹配就輸出 ok 不匹配就輸出 wrong 輸入乙個字串 輸出 ok...

括弧匹配檢驗 UPC

假設表示式中允許包含兩種括號 圓括號和方括號,其巢狀的順序隨意,如 或 等為正確的匹配,或 或 均為錯誤的匹配。現在的問題是,要求檢驗乙個給定表示式中的括弧是否正確匹配?輸入乙個只包含圓括號和方括號的字串,判斷字串中的括號是否匹配,匹配就輸出 ok 不匹配就輸出 wrong 輸入乙個字串 輸出 ok...