/*輸入一行字串,都為括號,判斷是否匹配.只有{} () <>這些。
輸入第一行k測試資料組數
之後1~k+1行為一行字串 長度<=100
輸出yes or no
樣例輸入
3(<>(){})
((()))
<)
樣例輸出
yesyes
no*/
#include
#include
#include
using namespace std;
stackx;
int main()
else
else
}}if(x.top()=='a') //判斷是否達到了棧低;
else
x.pop();
}return 0;
對於這一道題,是比較簡單的一道關於棧的題目,適應於比較基礎的棧的學習 ;
首先定義s;,這樣的乙個棧,棧的要求是 先進後出,這一點需要注意下;
這一道題 我是根據ascii碼寫的,要知道()之間的ascii碼相差位一,其餘三種括號的ascii相差為二;
根據這一點用棧中的字元與輸入的字串進行比較;第一步 將首個字元壓入棧-->比較-->判斷是否為棧開始壓入的字元;
棧 括號配對
include include include include typedef char datatype include int match datatype e,datatype ch void main 的括號表示式 n gets ch p ch p指向輸入的括號表示式 while p 判斷p...
括號配對問題 棧
時間限制 3 sec 記憶體限制 128 mb 提交 3 解決 2 提交 狀態 討論版 現在,有一行括號序列,請你檢查這行括號是否配對。第一行輸入乙個數n 0每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 3 no noyes 解題思路 用c 的庫函式,...
nyoj 括號配對問題(棧)
括號配對問題 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在,有一行括號序列,請你檢查這行括號是否配對。輸入 第一行輸入乙個數n 0 輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 nono ye...