博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode】20. Valid Parentheses
阅读量:6543 次
发布时间:2019-06-24

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

题目说明

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
1、左括号必须用相同类型的右括号闭合。
2、左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

解法1

使用栈来存储左括号,遇到右括号则与栈顶元素(即最后入栈的左括号)对比。若匹配则弹出最后入栈的左括号。

最后匹配完成 以后,若是有效的括号,则栈为空。

/* * 时间复杂度O(n) */bool isValid(string s) {    if (s.empty())        return true;    if (s.size() % 2 == 1)        return false;    stack
stack1; for (auto e:s){ if (e == '(' || e == '{' || e == '[') stack1.push(e); else{ if (stack1.empty()) return false; if (e == ')' && stack1.top() != '(') return false; if (e == '}' && stack1.top() != '{') return false; if (e == ']' && stack1.top() != '[') return false; stack1.pop(); } } if (stack1.size()) return false; return true;}

转载于:https://www.cnblogs.com/JesseTsou/p/9613046.html

你可能感兴趣的文章
Confluence 6 "Duplicate Key" 相关问题解决
查看>>
第18章 使用MariaDB数据库管理系统
查看>>
浅谈MySQL的B树索引与索引优化
查看>>
数据库迁移工具
查看>>
【喜报】HCIE--PASS !最可怕的敌人,就是没有坚强的信念!
查看>>
2019年人工智能行业又进入冬天了吗?
查看>>
想学前端,为什么不看这些书呢?
查看>>
记一次mapreduce读取不到输入文件的问题
查看>>
我的友情链接
查看>>
MariaDB集群Galera Cluster的研究与测试
查看>>
SONY控制键盘JX-11,EVI-D70P控制方案
查看>>
项目经理必备 - 项目绩效测量工具EVM详解(上)
查看>>
Spring AOP 之二:Pointcut注解表达式
查看>>
在普通台式机上搭建服务器虚拟化架构Esxi平台
查看>>
电话线路 30B+D 名词解释
查看>>
python字典嵌套字典实例
查看>>
吉炬消费系统软件输入密码后无法打开软件界面故障处理
查看>>
Hibernate学习系列————注解一对多双向实例
查看>>
Cannot load from mysql.proc
查看>>
网络运维之 EX4200消除var分区使用过高的告警
查看>>