首页 > 其他 > 详细

leetcode32.最长有效括号(栈)

时间:2021-09-06 07:41:18      阅读:12      评论:0      收藏:0      [点我收藏+]

给你一个只包含 ‘(‘ 和 ‘)‘ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。

 

示例 1:

输入:s = "(()"
输出:2
解释:最长有效括号子串是 "()"
示例 2:

输入:s = ")()())"
输出:4
解释:最长有效括号子串是 "()()"
示例 3:

输入:s = ""
输出:0

 

 

解题思路:依然可以使用辅助栈来解决问题

 1 class Solution{
 2 public int longestValidParentheses(String s ){
 3 LinkedList<Integer> stack = new LinkedList<Integer>();
 4 int res = 0;
 5 for(int i = 0; i < s.length();i++){
 6 if(stack.isEmpty() || s.chatAt(i) == "(" || s.chatAt(stack.getLast()) ==")"){
 7 stack.addLast(i);
 8 }else{
 9 srack.removeLast();
10 res = Math.max(res,stack.isEmpty ?  i + 1 : i - stack.getLast());
11 }
12 }
13 return res;
14 }
15 }

 

leetcode32.最长有效括号(栈)

原文:https://www.cnblogs.com/lixiaoxu695022762/p/15228089.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!