您的位置:首页 > 其它

[leetcode]Longest Valid Parentheses

2014-01-08 21:36 316 查看
就是做个扫描,能匹配的算下多长,如果不能匹配.就继续从后开始.

class Solution {
public:
int longestValidParentheses(string s) {
stack<int> st;
int last = -1;
int maxlen = 0;
for(int i = 0 ; i < s.size() ; i++)
{
if(s[i] == '(') st.push(i);
else{
if(st.empty()){
last = i;
}else{
st.pop();
if(st.empty()){
maxlen = max(maxlen , i - last);
}else{
maxlen = max(maxlen , i - st.top());
}
}
}
}
return maxlen;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: