NYOJ2 括號配對問題

2021-08-17 21:28:49 字數 821 閱讀 1796

時間限制:

3000 ms  |  記憶體限制:65535 kb

難度: 3 描述

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

輸入 第一行輸入乙個數n(0輸出

每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no

樣例輸入

3

[(])

(])([()])

樣例輸出

no

noyes

演算法:採用棧這種資料結構,遍歷字串遇到'('和'['的時候放入棧中,遇到')'和']'的時候取出棧頂元素進行對應的匹配,匹配上了就出棧,直到遍歷完成,如果棧中還有剩餘的元素沒有出棧,那麼輸出no否則輸出yes

下面我們來看一下具體的**

1 #include 2 #include

3 #include4

using

namespace

std;

5int

main()

620 stack s;

21for(i=0;i)

2227

else

2834

if(!s.empty()&&s.top()=='

['&&a[i]==']'

)3539}

40}41if(!s.empty())

4246

else

4751}52

return0;

53 }

若有不足和錯誤之處,歡迎兄弟們拍磚指正!!!

NYOJ 2 括號配對問題

第一次用棧來寫的 早上隊長講了一下,了解了下基礎,覺得c 的棧可以直接呼叫,c的棧卻要自己定義,還是該花時間好好看c 這是用c寫的 includestruct stack void initstack stack a 構造乙個空棧 void push stack a,char item 往棧裡面插入...

NYOJ 2 括號配對問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyesv.back ...

NYOJ 2 括號配對問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 題解 括號匹...