[LeetCode]32. Longest Valid Parentheses
题目描述
思路
开始:将’(‘压栈,当有’)’时, 出栈,结果+1 问题:统计的是所有合法的情况,不是最长合法的情况 修正:将对应的索引压栈,满足条件时,出栈,当前索引减去栈顶索引,栈初始化时先将-1压栈
代码
class Solution {
public:
int longestValidParentheses(
string s) {
int res =
0;
stack<int> index;
index.push(-
1);
for (
int i =
0; i < s.size(); ++i) {
if (index.top() != -
1 && s[index.top()] ==
'(' && s[i] ==
')'){
index.pop();
res = res > i - index.top() ? res : i - index.top();
}
else {
index.push(i);
}
}
return res;
}
};
转载请注明原文地址: https://ju.6miu.com/read-33758.html