[TOC]

题目

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。

左括号必须以正确的顺序闭合。

注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"

输出: true

示例 2:

输入: "()[]{}"

输出: true

示例 3:

输入: "(]"

输出: false

示例 4:

输入: "([)]"

输出: false

示例 5:

输入: "{[]}"

输出: true

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/probl...

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解答

class Solution(object):

def isValid(self, s):

"""

:type s: str

:rtype: bool

"""

li = []

if s == "":

return True

if len(s) == 0 or s[0] in ')''}'']':

return False

for i in s:

if i in '(''{''[':

li.append(i)

else:

a = ""

if len(li) == 0:

return False

if i == ")":

a = "("

if i == "}":

a = "{"

if i == "]":

a = "["

if li[-1] == a:

li.pop()

else:

return False

if li:

return False

else:

return True

执行效果

执行结果:通过

执行用时 :32 ms, 在所有 Python 提交中击败了71.50%的用户

内存消耗 :11.7 MB, 在所有 Python 提交中击败了36.20%的用户

python在线解题_20. 有效的括号-----leetcode刷题(python解题)相关推荐

  1. LeetCode刷题Python实录

    使用Python的LeetCode刷题 前言 题目 1408. 数组中的字符串匹配 508. 出现次数最多的子树元素和 1089. 复写零 剑指 Offer 14- I. 剪绳子 1175. 质数排列 ...

  2. 【代码】LeetCode刷题Python版

    python版LeetCode 算法部分 811. 子域名访问计数 class Solution:def subdomainVisits(self, cpdomains):""&q ...

  3. 【Leetcode刷题Python】494. 目标和

    1 题目 给你一个整数数组 nums 和一个整数 target . 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可 ...

  4. 【Leetcode刷题Python】40. 组合总和 II

    1 题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每 ...

  5. 【Leetcode刷题Python】714. 买卖股票的最佳时机含手续费

    1 题目 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付手续费.如果你已经 ...

  6. 【Leetcode刷题Python】55. 跳跃游戏

    1 题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 示例 1: 输入:nums = [2 ...

  7. 【Leetcode刷题Python】生词本单词整理

    1 题目 小A最近在努力学习英语.小A有一本生词本,专门用来记录见到的生词.每次小A看到一个自己不认识的单词时,就会把这个生词抄写到生词本上.经过几个月的学习之后,小A想对这个生词本上的单词进行整理. ...

  8. 【Leetcode刷题Python】416. 分割等和子集

    1 题目 给你一个 只包含正整数 的 非空 数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 示例 1: 输入:nums = [1,5,11,5] 输出:true ...

  9. 【Leetcode刷题Python】174. 地下城游戏

    1 题目 一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主. ...

最新文章

  1. 代码解说Android Scroller、VelocityTracker
  2. 图像重建算法_降噪重建技术路在何方?
  3. MATLAB之相关函数
  4. php 连续点击事件,javascript设置连续两次点击按钮时间间隔的方法_javascript技巧...
  5. 地图容器自适应浏览器是什么意思_Web移动端实现自适应缩放界面的方法汇总
  6. linux suse 安装redis,在openSuse linux上Redis安装简单步骤
  7. 特斯拉工程师当UP主评测自动驾驶,结果被公司开除
  8. ThinkPHP6项目基操(1.环境搭建及ThinkPHP6的安装)
  9. 4位先行进位电路 logisim_数字电路基础之逻辑电路
  10. output的用法java_JavaI/O:简单的使用BufferedOutputStream和BufferedInputStr
  11. 5800交点正反算坐标(可计算不对称缓和曲线)
  12. android流光动画和流光字体
  13. ROS : Navigation 基于碰撞传感器、悬崖传感器的实时避障 [kobuki]
  14. 痴呆患者血脑屏障(Blood-Brain Barrier, BBB)功能测量
  15. userAgent收集
  16. 什么是两化融合贯标?对企业有什么好处?
  17. Kinect v2和Intel RealSense D435的三维重建对比
  18. 千万级巨型汉语词库分享
  19. Spring Boot 2.X + Shiro 优雅解决 session 跨域问题
  20. 计算机视觉学习资料汇总

热门文章

  1. CentOS7 /etc/profile 添加环境变量重开终端后不生效
  2. 计算机网络( 二十二)-数据链路层(补充)
  3. Python随机选择一部分训练样本作为测试样本
  4. python实现Trie 树+朴素匹配字符串+RK算法匹配字符串+kmp算法匹配字符串
  5. 网络 IPC 套接字socket
  6. c++语言中break的作用,C++ break和continue用法详解
  7. 使用EmBitz开发STM32项目开发环境配置
  8. hash和一致性hash
  9. 怎么查看ingress的规则_有机合成中常见的基础理论规则
  10. 求二叉树高度_LeetCode刷题——第二十五天(平衡二叉树)