【栈】【20. 有效的括号】【简单】
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:输入: "{[]}"输出: true
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
个人题解:
- 遍历字符串{
- 若为左括号:{
将左括号入栈;
} - 若为右括号:{
若栈为空返回false;
弹出栈顶元素,若不是相应的右括号,则返回false;
}
- 若为左括号:{
}
遍历结束若栈中无元素则返回true;- 遍历字符串{
个人代码:
public class Solution {public bool IsValid(string s) {Dictionary<char, char> doc = new Dictionary<char, char>();doc.Add('(',')');doc.Add('[', ']');doc.Add('{', '}');Stack<char> stack = new Stack<char>();for (int i = 0; i < s.Length; i++){char c = s[i];if(doc.ContainsKey(s[i]))stack.Push(s[i]);else{if(stack.Count==0) return false;char left = stack.Pop();if(c!=doc[left])return false; }}return stack.Count==0;}
}
【栈】【20. 有效的括号】【简单】相关推荐
- 算法训练Day11 | LeetCode232. 用栈实现队列(模拟);225.用队列实现栈(模拟);20. 有效的括号(栈应用);1047. 删除字符串中的所有相邻重复项(栈应用)
目录 LeetCode232.用栈实现队列 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 LeetCode225. 用队列实现栈 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 ...
- 代码随想录算法训练Day11 LeetCode232. 用栈实现队列(模拟);225.用队列实现栈(模拟);20. 有效的括号(栈应用);1047. 删除字符串中的所有相邻重复项(栈应用)
代码随想录算法训练Day11 | LeetCode232. 用栈实现队列(模拟):225.用队列实现栈(模拟):20. 有效的括号(栈应用):1047. 删除字符串中的所有相邻重复项(栈应用) 关于栈 ...
- Suzy找到实习了吗Day 11 |栈与队列中途 20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值
Day 11 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值 20. 有效的括号 注意栈不是一个数据结构,需要自己用list实现栈的逻辑 class Solu ...
- 【Java】LeetCode 20 有效的括号 (运用数据结构:栈 解题)
题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 解题 ...
- 【LeetCode】【HOT】20. 有效的括号(栈)
[LeetCode][HOT]20. 有效的括号 文章目录 [LeetCode][HOT]20. 有效的括号 package hot;import java.util.Deque; import ja ...
- 算法训练Day11|LeetCode 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
题目链接:20. 有效的括号 第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false 第二种情况:遍历字符串匹配的过程中,发现栈里没有要匹配的字 ...
- 算法训练第十一天|力扣20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值
20. 有效的括号 题目链接:有效的括号 参考:https://programmercarl.com/0020.%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B ...
- LeetCode19删除链表的倒数第N个节点20有效的括号
维护不易,还请点赞支持,微信搜索bigsai 回复进群一起打卡. 19删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1-> ...
- 数据结构--栈--顺序栈/链式栈(附: 字符括号合法配对检测)
栈结构:先进后出,后进先出,像叠盘子一样,先叠的后用. 代码github地址 https://github.com/hitskyer/course/tree/master/dataAlgorithm/ ...
- c++数据结构队列栈尸体_数据结构-第三章:栈和队列(栈的应用、括号匹配、表达式转换)...
第三章:栈和队列 下面讲解栈的应用主要内容有:栈的应用.括号匹配.中 后 前 缀表达式转换 1.栈的应用 1.1括号匹配 我们在数学运算中 [(A+b)*c] - (E-F) 往往都会有[ ] 和 ( ...
最新文章
- mysql 分组取最新的一条记录(整条记录)
- Xen为什么一定要进入内核 —— [简译] KVM is Linux, Xen is not
- dvd清洗碟效果好吗_用什么清洗抽油烟机效果比较好?有哪些注意事项?
- Orchard源码分析(4):Orchard.Environment.OrchardStarter类
- class与case class的区别(转载)
- [02] JSP内置对象
- Linux用户与“最小权限”原则
- 先出报表还是先计提所得税_一道大综合题搞定“与子公司的内部交易合并报表抵销分录”的逻辑...
- Cocos Studio 2.3.2不再支持直接导入PSD文件
- 2017.9.11 聪明的燕姿 失败总结
- poj2586 Y2K Accounting Bug(贪心)
- 像excel一样规律填充(三)
- php导出word乱码,php导出的word会乱码吗
- Android热修复Sophix详解
- b和kb的换算_b和mb的换算(b kb mb换算)
- 如何处理计算机显卡故障,电脑显卡坏了怎么办?
- 送给天下程序员的诗 (原创)
- 用约束规划+概率图模型(信念传播)+神经网络端到端求解组合优化问题
- 客户流失预测——相关论文学习笔记
- 二进制转pdf. java_二进制字符转成pdf
热门文章
- EMNLP 2021 | 正则表达式与神经网络的深度融合(续)
- 今日arXiv精选 | 15篇ICCV 2021最新论文
- 思而后言:用点赞数据来帮助对话生成模型
- 掌握AI核心技巧,一站式数据采集处理与智能识别公开课
- 计算未来轻沙龙 | 当深度学习遇上归纳推理,图神经网络有多强大?
- 自然语言处理顶会 ACL 2018 参会见闻
- Error creating bean with name ‘org.springframework.security.oauth2.config.annotation.web.configurati
- 【☀️~爆肝万字总结递归~❤️玩转算法系列之我如何才能掌握递归解题的能力❤️~十大经典问题助你突破极限~建议收藏☀️】
- Spring Boot-@PropertySource注解
- Spring Boot-使用Spring Initializer快速创建Spring Boot项目