首页 > 其他分享 >括号匹配问题

括号匹配问题

时间:2023-02-01 10:36:39浏览次数:41  
标签:遍历 匹配 chars equals 问题 括号 return stack


括号匹配问题

1.创建一个栈(stack)来存储左边的括号
2.遍历字符串获取每一个字符看是否为左括号或者右括号,如果为左括号将他压入栈中,如果为右括号从栈中弹出一个左括号,如果都不是继续遍历
3.判断t是否为null为null则没有对应的左括号
4.遍历结束查看stack中是否还有左括号剩下,有则没有匹配否则匹配
具体实现如下:

public static boolean isMatch(String str)
{
//创建一个栈
Stack<String> stack=new Stack<String>();
//遍历
for (int i = 0; i <str.length() ; i++) {
String chars=str.charAt(i)+"";
//判断
if (chars.equals("(")||chars.equals("[")||chars.equals("{"))
{
//压栈
stack.push(chars);
//判断
}else if (chars.equals(")")||chars.equals("]")||chars.equals("}"))
{
//判断是否为空
if (stack.empty())
{
return false;
}
//弹栈
String t=stack.pop();
//判断是否为空
if (t==null)
{
return false;
}
}


}
if (stack.empty())
{
return true;
}else {
return false;
}
}

括号匹配问题_栈


标签:遍历,匹配,chars,equals,问题,括号,return,stack
From: https://blog.51cto.com/u_15949251/6030895

相关文章

  • QT 问题笔记
    1.'QMainWindow'filenotfound  网上:解决方法:在.pro中加入QT+=coreguigreaterThan(QT_MAJOR_VERSION,4):QT+=widgets 别人的demo,#include<QMainWindow>可......
  • k8s最佳实践:cgroup kmem的内存泄露问题
    k8s最佳实践:cgroupkmem的内存泄露问题1.前言这篇文章的全称应该叫:[在某些内核版本上,cgroup的kmemaccount特性有内存泄露问题],如果你遇到过pod的"cannotallocated......
  • Linux服务器中文乱码的问题
    Linux服务器系统的CentOS7文件名是中文全是?的乱码,执行 locale查看编码格式,内容如下[root@iZ2ze3n2wuzr91sx0vgwwdZ~]#localelocale:CannotsetLC_ALLtodefau......
  • i++在多线程下的原子性问题
     staticinti=0;@TestvoidiTest()throwsInterruptedException{Threadt1=newThread(()->{for(intj=0;j<50000;......
  • dremio 23 版本反射问题最新说明
    此问题,官方已经确认是在进行反射替换的时候有问题,同时预计会在24版本解决,但是目前暂时还没有发布(官方对于社区版的支持不是很好。。。。)参考资料https://community.drem......
  • 蓝桥杯 求解 01 背包问题
    题目描述实现一个算法求解01背包问题。背包问题的介绍如下:已知一个容量为 total_weighttotalw​eight 的背包,有不同重量不同价值的物品,问怎样在背包容量限制下达到......
  • SourceForge文件无法下载问题的技巧(20230131有效)
    曾经多么辉煌的开源网站SourceForge如今还有多少人记得(不小心暴露了年纪),最近有找到早期的一个开源项目下载其中的文件发现只有SourceForge上有保存,于是到SourceForge上下载......
  • 蓝桥杯 求解完全背包问题
    题目描述实现一个算法求解完全背包问题。完全背包问题的介绍如下:已知一个容量为totalw​eight 的背包,有不同重量不同价值的物品,问怎样在背包容量限制下达到利益最大化......
  • 使用消息队列必须考虑的问题
    总结:为什么使用消息队列?异步、解耦、削峰。消息队列有什么缺点?可用性降低、系统复杂度提高、一致性问题。如何保证消息队列的可用性?镜像集群模式(RabbitMQ),主从......
  • go-zap默认配置下日志缺失问题,程序执行正常而打印日志数量不符合预期
    现象:程序执行正常而打印日志数量不符合预期 原因:默认配置下,日志会进行取样。取样规则是,对于msg相同的日志,前100打印输出,之后每隔100条输出一条Sampling:&Sampling......