資料結構 括號配對問題(stack的使用)

2021-09-13 18:37:01 字數 610 閱讀 6787

描述

現在,有一行括號序列,請你檢查這行括號是否配對。

輸入第一行輸入乙個數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...