LeetCode 32. Longest Valid Parentheses
发布时间
阅读量:
阅读量
leetcode编码实践记录
leetcode 32. 最长有效括号
针对仅由 ‘(’ 和 ‘)’ 构成的字符串,确定其中最长的有效括号子串的长度。
示例 1:
输入: “(()”
输出: 2
解释: 最长有效括号子串为 “()”
示例 2:
输入: “)()())”
输出: 4
解释: 最长有效括号子串为 “()()”
解题思路
- 对字符串s进行从左至右的逐个扫描,每次以s[i]作为起始字符,寻找对应的最大有效括号子串长度;
- 运用递归方式计算长度,并依据左括号的数量leftNum与右括号的数量rightNum之间的关系来设定递归条件:在有效字符串中,左括号始终先于右括号出现。具体而言,(1)当rightNum等于leftNum时,表明当前存在一个完整有效的括号序列;(2)若rightNum大于leftNum,则说明当前序列无效;(3)若rightNum小于leftNum,则需继续扩展范围以寻找匹配的括号对。
class Solution {
public:
int longestValidParentheses(string s) {
int max = 0;
for(int i=0;i<s.size();i++){
全部评论 (0)
还没有任何评论哟~
