C 括號匹配問題

2021-10-06 13:13:52 字數 679 閱讀 7673

用棧來解決:

1.建立乙個棧

2.遍歷字串如果是左括號就壓棧

3.如果是有括號:判斷此時棧是否為空

3.1如果為空則不匹配

3.2如果不為空則彈出乙個元素

4.遍歷結束後判斷棧是否為空:若為空則匹配,不為空不匹配

bool

ismatch

(string str)

如果當前字元為右括號:

if(str[i]

==')')}

}//3.遍歷結束後如果棧中為空則返回括號匹配,如果不為空則不匹配

if(s.

isempty()

)return

true

;else

return

false

;}

1.設定乙個整數sum初始化為0

2.遍歷字串:如果為左括號則sum++;如果為右括號則sum–

3.遍歷結束後如果sum為0則匹配,不為0不匹配

bool

ismatch

(string str)

if(sum==0)

return

true

;else

return

false

;}

括號匹配問題

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

括號匹配問題

假設表示式中包含三種括號 圓括號 方括號和花括號,它們可以相互巢狀,如 等均為正確的格式,而等為不正確的格式。以下為演算法程式 括號匹配問題 include include int main char ch while ch getchar eof count 0 break case if cou...

括號匹配問題

問題描述 假設表示式中允許包含兩種括號 圓括號與方括號,其巢狀的順序隨意。如 或 等為正確的匹配 而 或者 或者 均為錯誤的匹配。現要求編寫程式,判斷輸入的一行括號是否是匹配的,如果是匹配的,輸出yes,否則輸出no。解題思路 檢驗括號是否是匹配的方法可以用 期待的急迫程度 這個概念來描述。例如考慮...