描述
現在,有一行括號序列,請你檢查這行括號是否配對。
輸入第一行輸入乙個數n(0輸出
每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no
樣例輸入
3[(])
(])([()])
樣例輸出
nono
yes思路:將字串從頭開始處理,若棧為空則將這個字元壓進棧,然後用下乙個字元與棧頂匹配,如匹配成功,則將棧頂元素去除,否則繼續壓棧,若最後棧為空,則括號完全匹配,若不為空,則不匹配括號仍在棧內。
#include #include #include using namespace std;
const int max = 1e5 + 5;
char s[max];
int main()
else if (s[i] == ')' && sta.top() == '(')
else if (s[i] == ']' && sta.top() == '[')
else
}if (sta.empty()) else
}}return 0;
}
資料結構268 括號配對問題
試題名稱 括號配對問題 時間限制 1 秒 記憶體限制 10kb 問題描述 現在有一行括號序列,請你檢查這行括號是否配對。輸入說明 第一行輸入乙個數n 0輸出說明 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no。輸入樣例 3 輸出樣例 nono yes i...
nyoj 2 括號配對問題 stack
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 1 inclu...
NYOJ 2 括號配對問題(棧stack)
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes直接上 inc...