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

  • 有效字符串需满足:
    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。
    注意空字符串可被认为是有效字符串。

      示例 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. 有效的括号】【简单】相关推荐

  1. 算法训练Day11 | LeetCode232. 用栈实现队列(模拟);225.用队列实现栈(模拟);20. 有效的括号(栈应用);1047. 删除字符串中的所有相邻重复项(栈应用)

    目录 LeetCode232.用栈实现队列 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 LeetCode225. 用队列实现栈 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 ...

  2. 代码随想录算法训练Day11 LeetCode232. 用栈实现队列(模拟);225.用队列实现栈(模拟);20. 有效的括号(栈应用);1047. 删除字符串中的所有相邻重复项(栈应用)

    代码随想录算法训练Day11 | LeetCode232. 用栈实现队列(模拟):225.用队列实现栈(模拟):20. 有效的括号(栈应用):1047. 删除字符串中的所有相邻重复项(栈应用) 关于栈 ...

  3. Suzy找到实习了吗Day 11 |栈与队列中途 20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

    Day 11 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值 20. 有效的括号 注意栈不是一个数据结构,需要自己用list实现栈的逻辑 class Solu ...

  4. 【Java】LeetCode 20 有效的括号 (运用数据结构:栈 解题)

    题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 解题 ...

  5. 【LeetCode】【HOT】20. 有效的括号(栈)

    [LeetCode][HOT]20. 有效的括号 文章目录 [LeetCode][HOT]20. 有效的括号 package hot;import java.util.Deque; import ja ...

  6. 算法训练Day11|LeetCode 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

    题目链接:20. 有效的括号 第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false 第二种情况:遍历字符串匹配的过程中,发现栈里没有要匹配的字 ...

  7. 算法训练第十一天|力扣20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

    20. 有效的括号 题目链接:有效的括号 参考:https://programmercarl.com/0020.%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B ...

  8. LeetCode19删除链表的倒数第N个节点20有效的括号

    维护不易,还请点赞支持,微信搜索bigsai 回复进群一起打卡. 19删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1-> ...

  9. 数据结构--栈--顺序栈/链式栈(附: 字符括号合法配对检测)

    栈结构:先进后出,后进先出,像叠盘子一样,先叠的后用. 代码github地址 https://github.com/hitskyer/course/tree/master/dataAlgorithm/ ...

  10. c++数据结构队列栈尸体_数据结构-第三章:栈和队列(栈的应用、括号匹配、表达式转换)...

    第三章:栈和队列 下面讲解栈的应用主要内容有:栈的应用.括号匹配.中 后 前 缀表达式转换 1.栈的应用 1.1括号匹配 我们在数学运算中 [(A+b)*c] - (E-F) 往往都会有[ ] 和 ( ...

最新文章

  1. mysql 分组取最新的一条记录(整条记录)
  2. Xen为什么一定要进入内核 —— [简译] KVM is Linux, Xen is not
  3. dvd清洗碟效果好吗_用什么清洗抽油烟机效果比较好?有哪些注意事项?
  4. Orchard源码分析(4):Orchard.Environment.OrchardStarter类
  5. class与case class的区别(转载)
  6. [02] JSP内置对象
  7. Linux用户与“最小权限”原则
  8. 先出报表还是先计提所得税_一道大综合题搞定“与子公司的内部交易合并报表抵销分录”的逻辑...
  9. Cocos Studio 2.3.2不再支持直接导入PSD文件
  10. 2017.9.11 聪明的燕姿 失败总结
  11. poj2586 Y2K Accounting Bug(贪心)
  12. 像excel一样规律填充(三)
  13. php导出word乱码,php导出的word会乱码吗
  14. Android热修复Sophix详解
  15. b和kb的换算_b和mb的换算(b kb mb换算)
  16. 如何处理计算机显卡故障,电脑显卡坏了怎么办?
  17. 送给天下程序员的诗 (原创)
  18. 用约束规划+概率图模型(信念传播)+神经网络端到端求解组合优化问题
  19. 客户流失预测——相关论文学习笔记
  20. 二进制转pdf. java_二进制字符转成pdf

热门文章

  1. EMNLP 2021 | 正则表达式与神经网络的深度融合(续)
  2. 今日arXiv精选 | 15篇ICCV 2021最新论文
  3. 思而后言:用点赞数据来帮助对话生成模型
  4. 掌握AI核心技巧,一站式数据采集处理与智能识别公开课
  5. 计算未来轻沙龙 | 当深度学习遇上归纳推理,图神经网络有多强大?
  6. 自然语言处理顶会 ACL 2018 参会见闻
  7. Error creating bean with name ‘org.springframework.security.oauth2.config.annotation.web.configurati
  8. 【☀️~爆肝万字总结递归~❤️玩转算法系列之我如何才能掌握递归解题的能力❤️~十大经典问题助你突破极限~建议收藏☀️】
  9. Spring Boot-@PropertySource注解
  10. Spring Boot-使用Spring Initializer快速创建Spring Boot项目