题目:
给定一个只包含 '('
和 ')'
的字符串,找出最长的包含有效括号的子串的长度。
示例 1:
输入: "(()"
输出: 2
解释: 最长有效括号子串为 "()"
示例 2:
输入: ")()())
" 输出: 4 解释: 最长有效括号子串为"()()"
结果:
解题思路:
1,括号类型只有一个就是小括号,那么记录左右括号数量相等且以左括号开始的做大有效值就是了。
2,若以’)‘开头则肯定是无效,因此跳过。
3,就算左右数量相等,如果下一个依然是左括号开头,那么可能还是有效的因此不退出循环
代码:
int longestValidParentheses(char * s){
int count = 0;
int max = 0;
int right, left;
int len =