(){}匹配的賦值為相反數,使用棧進行判斷,如果匹配(棧頂和當前元素的值為相反數)就出棧,否則入棧,最終看棧是否為空,如果為空,則是對應的,我考慮到的情況有 類似 () , [()] , ()
/*給定乙個只包括 '(',')','','[',']' 的字串,
判斷是否有效。必須以順序閉合,注意順序,閉合。*/
#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 思路 根據括號的特點 進行匹配的時候,第乙個做括號最後乙個匹配,最後乙個左括號與第乙個右括號相匹配,恰好可以使用...