博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Leetcode/hard/32】Longest Valid Parentheses
阅读量:2171 次
发布时间:2019-05-01

本文共 659 字,大约阅读时间需要 2 分钟。

题目

在这里插入图片描述

基本思路

返回括号串中合法括号串的长度。使用栈。这个解法比较巧妙,开辟一个栈,压栈的不是括号,而是未匹配的左括号的索引

实现代码

class Solution:    def longestValidParentheses(self, s):        """        :type s: str        :rtype: int        """        maxlen = 0        stack = []        last = -1        for i in range(len(s)):            if s[i]=='(':                stack.append(i)                 else:                if stack == []:                    last = i                else:                    stack.pop()                    if stack == []:                        maxlen = max(maxlen, i-last)                    else:                        maxlen = max(maxlen, i-stack[len(stack)-1])        return maxlen
你可能感兴趣的文章
UDP连接和TCP连接的异同
查看>>
hibernate 时间段查询
查看>>
java操作cookie 实现两周内自动登录
查看>>
Tomcat 7优化前及优化后的性能对比
查看>>
Java Guava中的函数式编程讲解
查看>>
Eclipse Memory Analyzer 使用技巧
查看>>
tomcat连接超时
查看>>
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
iOS常用宏定义
查看>>
什么是ActiveRecord
查看>>
有道词典for mac在Mac OS X 10.9不能取词
查看>>
关于“团队建设”的反思
查看>>
利用jekyll在github中搭建博客
查看>>
Windows7中IIS简单安装与配置(详细图解)
查看>>
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>