7 6 1 stack 括號匹配

2021-10-08 07:14:37 字數 1202 閱讀 6787

給定僅包含「(){}」六種括號的字串,請你判斷該字串中,括號的匹配是否是合法的,也就是對應括號的數量、巢狀順序完全正確。

輸入格式:

第一行乙個整數t(t<=10) 其後t行每行乙個字串只包含六種字元(字串長度2e5以內)

輸出格式:

對於每個字串,匹配輸出yes,否則輸出no

輸入樣例:

2

([)]

輸出樣例:

yes no

報段錯誤**段

原因:這一段會出現訪問非法記憶體的情況,char a = st.top();賦值時有可能棧空,沒有棧頂。

elseif(

(str[i]

==')')||

(str[i]

==']')||

(str[i]

=='}'))

')||(a ==

'['&& str[i]

==']'))

else

return

false

;}

ac**

#include

#include

#include

using

namespace std;

stack<

char

> st;

bool

ismatch

(string str)

else')

||(st.

top()==

'['&& str[i]

==']'))

else

return

false;}

else

return

false;}

}}return

true;}

intmain()

return0;

}

括號匹配問題 stack的利用

題目 擴號匹配問題 poj.grids.cn 描述 在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算術式子一樣 任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。其中不能匹配的左括號用 標註,不能匹配的右括號用 標註 關於輸入 第一行乙個正整數n,表示資料的組數...

STL 棧stack 例題 括號匹配)

includestackone stack 定義乙個棧,名稱為 one stack,typename是資料型別,可以是int等one stack.push a elem 將a elem放入棧 one stack.pop 出棧stack top value one stack.top top返回棧頂元...

1353 表示式括號匹配 stack

題目描述 假設乙個表示式有英文本母 小寫 運算子 和左右小 圓 括號構成,以 作為表示式的結束符。請編寫乙個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回 yes 否則返回 no 表示式長度小於255,左圓括號少於20個。輸入 一行資料,即表示式。輸出 一行,即 yes 或 no 輸入樣例 2...