为什么检测括号表示要用栈呢??
(a,b))
对于这个表达式,只有圆括号,非法性,一个左括号和右括号的数目相同,并且括号前面必须有数字,
我认为就合法了,
boolIsValid(int arr[], int len)
{
int npos;
int leftBrackets, rightBrackets;
leftBrackets=rightBrackets=0;
for(nPos=0; nPos<len; nPos++)
{
if(arr[nPos]=='(')
{
leftBrackets++;
if(nPos<len && arr[nPos+1]不是数字)
return false;
}
if(arr[nPos]==')')
{
rightBrackets++;
if(nPos<len && arr[nPos+1]不是数字)
return false;
}
}
if(leftBrackets!=rightBr...)
return false;
return true;
}
这个算法如何,有漏洞吗???