判斷括號是否閉合

2021-10-23 09:57:41 字數 1441 閱讀 8695

(){}匹配的賦值為相反數,使用棧進行判斷,如果匹配(棧頂和當前元素的值為相反數)就出棧,否則入棧,最終看棧是否為空,如果為空,則是對應的,我考慮到的情況有 類似 () , [()] , ()

/*給定乙個只包括 '(',')','','[',']' 的字串,

判斷是否有效。必須以順序閉合,注意順序,閉合。*/

#include

using

namespace std;

#include

class

mystack

;mystack::

mystack

(int maxsize)

bool mystack::

push

(int value)

//入棧

else

}bool mystack::

pop(

int&value)

//出棧

else

}void mystack::

showstack()

}bool mystack::

isempty()

//目前棧是否為空

bool mystack::

getstacktop

(int

&value)

//獲取棧頂元素

else

}mystack::

~mystack()

//析構函式

struct mychar};

bool

judgebihe

(const string s, mychar *chararray)

//判斷s是否閉合

if(s.

size()

==1)for

(int i =

0; i < s.

size()

; i++)}

if(i ==0)

//第乙個字元

else

//不是第乙個字元的情況

else}}

mystack1.

showstack()

;return mystack1.

isempty()

;}intmain()

',-3

)}; string s;

cout <<

"輸入符號串:"

;while(1

)if(flag ==0)

}if(flag ==1)

//輸入合規就可以退出迴圈

break;}

if(judgebihe

(s,chararray)

) cout <<

"括號閉合"

;else

cout <<

"括號不閉合"

;return0;

}

基於python判斷字串括號是否閉合

前言 經典面試題 判斷乙個字串裡面的括號是否閉合,如 就是乙個閉合的字串。這個裡面 括號不對稱,這種就是不閉合。python判斷閉合 解決基本思路 先把左括號新增到乙個列表裡面,遇到右括號就彈出列表裡面的最後乙個存放進去的。對比右括號和彈出的左括號是否對稱,如果是就繼續依次對比。最後判斷列表裡面是否...

驗證大小中括號是否成對閉合匹配

valid parentheses example 1 input output trueexample 2 input output falseexample 3 input output true使用棧 先進後出 如果遇到左邊符號,入棧,如果遇到右邊符號,則判斷棧頂元素是否匹配,不匹配則返回fa...

判斷括號是否匹配

日期 2009.6.20 問題 設計乙個演算法,判斷乙個算術表示式中的括號是否配對。算術表示式儲存在帶頭結點的單迴圈鍊錶中,每個結點有兩個域 ch和 link 其中ch 域為字元型別。1 思路 根據括號的特點 進行匹配的時候,第乙個做括號最後乙個匹配,最後乙個左括號與第乙個右括號相匹配,恰好可以使用...