返回顶部
首页 > 资讯 > 后端开发 > Python >java括号匹配问题介绍
  • 705
分享到

java括号匹配问题介绍

2024-04-02 19:04:59 705人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录题目描述:问题分析:1 可能存在左括号多的情况2 可能存在右括号多的情况3 存在括号不匹配的情况总结解题思路:代码实现:题目描述: 给定一个只包括 ‘(',')','{','}

题目描述:

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

问题分析:

1 可能存在左括号多的情况

在这里插入图片描述

2 可能存在右括号多的情况

在这里插入图片描述

3 存在括号不匹配的情况

在这里插入图片描述

总结解题思路:

1 我们在遍历字符串的过程中,需要先取得栈顶的元素与右括号比较,看是否匹配,如果匹配才能出栈。
2 在出栈的过程中,如果栈为空,说明右括号多了,如果发现栈顶元素与右括号不是匹配的括号,那么就需要直接return了
3 在整个字符串遍历结束之后,我们要判断一下栈是否为空,如果为空,说明是匹配的,否则就是左括号偏多的情况。

代码实现:


public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();
        for(int i = 0;i<s.length();i++){
            char ch = s.charAt(i);
            if(ch=='('||ch=='['||ch=='{'){
                stack.push(ch);//左括号进栈
            }else{
                if(stack.empty()){//栈为空,右括号多了
                    return false;
                }else{
                    char ch1 = stack.peek();//取栈顶元素
                if(ch1=='('&& ch ==')'||ch1=='{'&&ch=='}'||ch1=='['&&ch==']'){
                    stack.pop();//匹配出栈
                }else{
                    return false;//括号不匹配
                }
                }
            }
        }
        if(!stack.empty()){
            return false;//栈不为空,左括号偏多了
        }
        return true;
    }

到此这篇关于java括号匹配问题介绍的文章就介绍到这了,更多相关java括号匹配内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: java括号匹配问题介绍

本文链接: https://lsjlt.com/news/161321.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java括号匹配问题介绍
    目录题目描述:问题分析:1 可能存在左括号多的情况2 可能存在右括号多的情况3 存在括号不匹配的情况总结解题思路:代码实现:题目描述: 给定一个只包括 ‘(',')','{','}...
    99+
    2024-04-02
  • Java 括号匹配问题案例详解
    目录前言例题算法思想算法举例代码栈类括号匹配核心算法完整代码运行结果前言 括号匹配问题算是栈应用中比较经典的问题了,在数据结构的书中还有各种考试中会出现。最近刷题的时候也遇到了,就想...
    99+
    2024-04-02
  • Java括号匹配
    目录 一、题目描述 二、题解 一、题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右...
    99+
    2023-10-03
    java 算法 数据结构 leetcode
  • C语言解决堆栈括号匹配问题示例详解
    目录首先构建栈调用匹配函数代码调用1.括号匹配问题就是当遇到{( [这些左括号的时 将括号字符入栈 2.当遇到右括号时判断栈顶元素是不是与左括号匹配如果匹配就出栈 如果不匹配就直接结...
    99+
    2024-04-02
  • java解决动态配置字段需求问题介绍
    本篇文章和大家了解一下java解决动态配置字段需求问题介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。目录java解决动态配置字段需求下面是我的主要实现方式本人实现的总结点java读取配置字段方法一 @Value(&q...
    99+
    2023-07-06
  • scala 调用 java 方法参数匹配问题
    scala调用java的FastJson时发生了一个方法参数匹配问题: scala和java几乎没有区别,可以互相调用。注意这里说的是几乎,总有那么少数,出人意料的惊喜在告诉你,scala就是scala。 ...
    99+
    2023-06-03
  • Linux Shell中几种括号和引号的用法介绍
    本篇内容介绍了“Linux Shell中几种括号和引号的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Shell 脚本中经常需要用到...
    99+
    2023-06-16
  • 聊聊mybatissql的括号问题
    目录mybatis sql的括号问题mybatis多层括号(超过三层)解析不了mybatis sql的括号问题 因为一段sql  要关联 A,B,C三个表,查三个表里的数据...
    99+
    2024-04-02
  • 介绍java中Pair(配对)
    目录介绍java中Pair核心java配对实现Pair类AbstractMap.SimpleEntry 和 AbstractMap.SimpleImmutableEntryApach...
    99+
    2023-03-19
    java中Pair java配对实现
  • 如何使用java暴力匹配及KMP算法解决字符串匹配问题
    这篇文章主要介绍如何使用java暴力匹配及KMP算法解决字符串匹配问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!要解决的问题?一、暴力匹配算法一个图例介绍KMP算法String str1 =&...
    99+
    2023-06-21
  • java暴力匹配及KMP算法解决字符串匹配问题示例详解
    目录要解决的问题?一、暴力匹配算法一个图例介绍KMP算法二、KMP算法算法介绍一个图例介绍KMP算法  代码实现要解决的问题? 一、暴力匹配算法 一个图例介绍KMP算法 St...
    99+
    2024-04-02
  • 匹配中文汉字的正则表达式介绍
    正则表达式是一种用来描述、匹配和操作文本的工具,它可以用来检索、替换和验证字符串。要匹配中文汉字,可以使用Unicode编码范围来定...
    99+
    2023-08-15
    正则表达式
  • grep正则表达式匹配中括号的方法实例
    目录1. 匹配中括号,例如匹配 String[] args2. 匹配大括号,例如匹配 {abc 123}3. 同时匹配中括号和大括号,例如匹配 new byte[]{6, 55, 7...
    99+
    2024-04-02
  • 正则表达式怎么匹配多个括号中的值
    可以使用正则表达式的分组功能来匹配多个括号中的值。具体步骤如下:1. 使用圆括号 `()` 将需要匹配的内容包裹起来,形成一个分组。...
    99+
    2023-08-18
    正则表达式
  • Android ellipsize的小问题介绍
    使用TextView的时候,需要长度过长自动显示省略号,android里有原生的支持,定义如下: 代码如下: <TextView ... android:ellipsi...
    99+
    2022-06-06
    Android
  • java多线程死锁问题的详细介绍
    本篇内容主要讲解“java多线程死锁问题的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java多线程死锁问题的详细介绍”吧!一、什么是死锁当两个或两个...
    99+
    2024-04-02
  • C++中使用正则匹配问题
    目录C/C++可以用正则表达式吗?若要判断一个输入的QQ号是否有效,如何判断?正则程序库(regex)正则文法(regex syntaxes)匹配(Match)搜索(Search)替...
    99+
    2022-11-13
    C++正则匹配 使用正则匹配 C++正则
  • springboot与dubbo的版本匹配问题
    目录springboot与dubbo的版本匹配项目里原始版本升级到2.6.7后错误日志springboot+dubbo版本对应关系背景对应关系springboot与dubbo的版本匹...
    99+
    2024-04-02
  • java正则表达式匹配替换大括号变量${}和替换${}变量的值
    java正则表达式替换“$ {}”特殊字符并还原,以及java正则表达式替换${}变量为变量的值这两种操作的代码示例。 import java.text.SimpleDateFormat;import...
    99+
    2023-10-11
    java 正则表达式 jvm
  • SpringMVC路径匹配中使用通配符问题
    目录SpringMVC路径匹配中使用通配符@RequestMapping中指定的路径也可以使用通配符*通配符不是只能放在最后的通配符还可以匹配以某字符结束的路径通配符还可以匹配以某字...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作