题目描述[原题链接][https://leetcode-cn.com/problems/longest-valid-parentheses/]
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。
示例 1:
1 | 输入: "(()" |
示例 2:
1 | 输入: ")()())" |
算法描述
正向遍历一次数组,碰到'('的话,left++,如果碰到)的话,right++,当right==left时更新最长括号的长度,再反向遍历一遍重复遍历一遍,要注意的是,正向遍历时right>=left时清零right和left,反向时left>=right时清零,直到遍历完两次数组;
C++代码
1 | class Solution { |
Java代码
1 | class Solution { |