對(duì)于一個(gè)字符串私沮,請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法惨寿,判斷其是否為一個(gè)合法的括號(hào)串。
給定一個(gè)字符串A和它的長(zhǎng)度n迹炼,請(qǐng)返回一個(gè)bool值代表它是否為一個(gè)合法的括號(hào)串砸彬。
測(cè)試樣例:
輸入:"(()())",6
返回:true
輸入:測(cè)試樣例:
輸入:"()a()()",7
返回:false
測(cè)試樣例:
輸入:"()(()()",7
返回:false
class Parenthesis {
public:
bool chkParenthesis(string A, int n) {
// write code here
int num = 0, idx = 0;
while(idx < n){
switch(A[idx]){
case '(':
++num;
break;
case ')':
if(--num<0){return false;}
break;
default:
if(0 == A[idx]){
return false;
}
break;
}
++idx;
}
return 0 == num ? true : false;
}
};