時間限制:3000 ms | 記憶體限制:65535 kb
難度:3 描述
現在,有一行括號序列,請你檢查這行括號是否配對。
輸入第一行輸入乙個數n(0輸出
每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no
樣例輸入
3
[(])
(])([()])
樣例輸出
no
no
yes
先了解一下棧的基本操作:
這是我想的第一種:
#include#include#include#includeusing namespace std;
#define maxn 1005
char str[10005];
int main()
}} if(s.empty()) printf("yes\n");
else printf("no\n");
} return 0;
}
棧的應用 括號匹配問題
typedef struct stack stack,pstack 單向鏈式儲存結構 void pushstack pstack stack,char str 左括號入棧 bool popstack pstack stack,char str 左括號出棧 非常簡單的出入棧操作 這裡就說下進棧操作不用...
括號匹配問題 棧的應用
pragma once ifndef stack h define stack h define datatype char define max size 20 typedef struct stack stack 初始化棧 void stackinit stack s 壓棧 void stack...
括號匹配問題 棧的應用
黑馬教程 給定乙個字串,裡邊可能包含 和其它字元,編寫程式檢查字串中的小括號是否成對出現。例如 上海 長安 正確匹配 上海 長安 正確匹配 上海 長安 北京 深圳 南京 正確匹配 上海 長安 錯誤匹配 上海 長安 錯誤匹配利用棧來解決。遍歷字串,如果遇到 則將其壓入棧中,如果遇到 則做乙個彈棧的動作...