栈使用——括号匹配的检验(Java篇)

本文介绍了使用Java编程语言在IDEA2021中实现括号匹配的算法。通过删除非括号字符,检查括号的有效匹配,如'( )', '[ ]', '{ }'。当遇到不匹配的情况如'( ) [ ] {', '{ ]', '{ } }', '( ( ) ) ] ]'时,算法会判断为匹配失败。主要关注三种括号:(),[],{}的匹配。文章提供测试代码并邀请读者共同讨论。" 51161178,381253,解决Visual Studio等管理员模式应用无法访问网络驱动器,"['Windows', '权限管理', '网络映射', '注册表编辑', '系统配置']
摘要由CSDN通过智能技术生成

实现环境

编程语言使用Java,实验工具为IDEA2021

实现说明

什么叫做括号匹配?

我们输入一个字符串,删除掉除括号 ‘(’、’)’、’[’、’]’、’{’、’}’ 以外的所有字符串后

如出现这样 ( )[ ]{ }、( )、{ } { } ( ) 等情况则认为匹配成功

如出现这样 ( ) [ ] {、{ ]、{ } }、( ( ) ) ] ] 等情况则认为匹配失败

本次实验只设定三组括号匹配,分别为() [] {}

实现思路

我们依次在 即将当前字符括号压入栈中之前,判断各种情况(如栈是否为空,是否成对匹配成功,是否压栈等)

测试代码如下:

 public static void main(String[] args) {
   
     	//待测试字符串
        String s = "(){}[]]";
        //将字符串转换为char数组
        char[] chars = s.toCharArray();
     	//ok方法判断是否匹配成功
    	Boolean ok = ok(chars);
        System.out.println(ok)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值