您的位置:首页 > 其它

leetcode Longest Valid Parentheses

2014-11-05 17:01 513 查看
刚看此题觉得比较简单,利用栈来记录,但是其中的的细节很多,需要对")"以及栈是否为空进行考虑

代码

class Solution {
public:
int longestValidParentheses(string s) {

int lgest = 0;
int len = s.length();
int start = 0;

if(len==0)
return lgest;

stack<int> pare;

for(int i = 0; i < len; ++i)
{
if(s[i]=='(')
pare.push(i);
else
{
if(pare.empty())
{
start = i + 1;
}
else
{
pare.pop();
lgest = pare.empty()?  max(lgest, i - start + 1):max(lgest, i - pare.top());

}
}
}

return lgest;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: