《LeetCode力扣练习》第20题 有效的括号 Java



一、资源

  • 题目:

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

    有效字符串需满足:

    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。
    

    示例 1:

    输入:s = “()”
    输出:true

    示例 2:

    输入:s = “()[]{}”
    输出:true

    示例 3:

    输入:s = “(]”
    输出:false

    示例 4:

    输入:s = “([)]”
    输出:false

    示例 5:

    输入:s = “{[]}”
    输出:true

    提示:

    1 <= s.length <= 104
    s 仅由括号 '()[]{}' 组成
    

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/valid-parentheses
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 上代码(经过线上OJ测试)
    import java.util.ArrayDeque;
    import java.util.HashMap;/*** Created with IntelliJ IDEA.** @author : DuZhenYang* @version : 2022.03.01  18:01:48* description :*/
    public class LeetCode {public boolean isValid(String s) {int length = s.length();if (length % 2 == 1) {return false;}HashMap<Character, Character> pairs = new HashMap<>();pairs.put(')', '(');pairs.put(']', '[');pairs.put('}', '{');ArrayDeque<Character> stack = new ArrayDeque<>();for (int i = 0; i < length; i++) {char ch =s.charAt(i);if(pairs.containsKey(ch)){if(stack.isEmpty()||stack.peek()!=pairs.get(ch)){return false;}stack.pop();}else {stack.push(ch);}}return stack.isEmpty();}
    }
    

《LeetCode力扣练习》第20题 有效的括号 Java相关推荐

  1. LeetCode 之 JavaScript 解答第20题 —— 有效的括号(Valid Parentheses)

    Time:2019/4/11 Title: Valid Parentheses Difficulty: Easy Author: 小鹿 题目:Valid Parentheses Given a str ...

  2. 《LeetCode力扣练习》第96题 不同的二叉搜索树 Java

    <LeetCode力扣练习>第96题 不同的二叉搜索树 Java 一.资源 题目: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回 ...

  3. 《LeetCode力扣练习》第75题 颜色分类 Java

    <LeetCode力扣练习>第75题 颜色分类 Java 一.资源 题目: 给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按 ...

  4. 《LeetCode力扣练习》第64题 最小路径和 Java

    <LeetCode力扣练习>第64题 最小路径和 Java 一.资源 题目: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为 ...

  5. 《LeetCode力扣练习》第62题 不同路径 Java

    <LeetCode力扣练习>第62题 不同路径 Java 一.资源 题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ). ...

  6. 《LeetCode力扣练习》第56题 合并区间 Java

    <LeetCode力扣练习>第56题 合并区间 Java 一.资源 题目: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, ...

  7. 《LeetCode力扣练习》第55题 跳跃游戏 Java

    <LeetCode力扣练习>第55题 跳跃游戏 Java 一.资源 题目: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大 ...

  8. 《LeetCode力扣练习》第617题 合并二叉树 Java

    <LeetCode力扣练习>第617题 合并二叉树 Java 一.资源 题目: 给你两棵二叉树: root1 和 root2 . 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些 ...

  9. 《LeetCode力扣练习》第461题 汉明距离 Java

    <LeetCode力扣练习>第461题 汉明距离 Java 一.资源 题目: 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目. 给你两个整数 x 和 y,计算并返回 ...

最新文章

  1. python reduce()函数
  2. android NDk编程
  3. 一文了解Nuget的使用
  4. BZOJ 2956 模积和
  5. Android开发笔记(一百四十)Word文件的读取与显示
  6. Android智能电视应用程序开发浅谈(二)
  7. fgets和fgetl有什么区别
  8. mysql导入hdfs参数_导入数据到HDFS
  9. 实例讲解什么是Meta回归,怎么利用Meta回归发表文章!
  10. Android 不透明度值换算
  11. 负数除以整数的余数怎么算?
  12. centOS6.5中部署java调用h2o中python包环境
  13. 为什么你的HDMI口没信号!
  14. 7个快速登录Gmail的技巧
  15. Pywin32:Python库的简介、安装和使用攻略
  16. html博客设计论文,个人博客网站(论文).doc
  17. 游戏推广的引流软件有用吗
  18. 小虫记之iptables
  19. TeamViewer 连接后无法操作的解决方法
  20. android砖刷机精灵,Android刷机精灵:喜刷刷

热门文章

  1. 马歇尔计划软件测试自学,绝密本科目考试启用前及综合应用.doc
  2. Java 接受reactjs数据_[Java教程]react.js 父子组件数据绑定实时通讯
  3. PCI总线和PXI总线的区别
  4. C++实现有哨兵的双向循环链表
  5. c语言中随机选择函数,怎样让c语言中的随机函数真正随机?
  6. 华为机试第九题python
  7. 基于yolo4和yolo3(pytorch)的口罩识别的对比
  8. AutoML自定义搜索网络类(如何在一个大的网络中搜索一个网络)
  9. 看板中的WIP限制思想 1
  10. npm 加入 TC39 委员会,参与定制 JavaScript 标准