leetcode T32 最长有效括号
思路:通过栈来解决
class Solution {
public:
int longestValidParentheses(string s)
{
stack<int> myStack;
int max = 0;
int t;
for (int i = 0; i< s.size(); i++)
{
if (s[i] == ')' && !myStack.empty() && s[myStack.top()] == '(')
{
myStack.pop();
//计算长度
if (myStack.empty())
{
max = i + 1;
}
else
{
//记录当前子串有效长度
if (i - myStack.top() > max)
{
max = i - myStack.top();
}
}
}
else
{
myStack.push(i);
}
}
return max;
}
};