前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中实现判断括号是否有效的方法,实用代码

Java中实现判断括号是否有效的方法,实用代码

作者头像
用户1289394
发布2018-02-27 15:28:50
2.1K0
发布2018-02-27 15:28:50
举报
文章被收录于专栏:Java学习网Java学习网

需求:给定一个字符串包含的字符'(',')”、“{”、“}”、“[”和“]”,判断输入字符串是否有效。

前提条件:括号必须有正确的顺序。

分析:经过分析这个问题可以通过使用一个堆栈的数据结构来解决。

网络配图

Java解决方法:

代码如下:

代码语言:js
复制
public static boolean isValid(String s) {
HashMap<Character, Character> map = new HashMap<Character, Character>();
map.put('(', ')');
map.put('[', ']');
map.put('{', '}');
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < s.length(); i++) {
char curr = s.charAt(i);
if (map.keySet().contains(curr)) {
stack.push(curr);
} else if (map.values().contains(curr)) {
if (!stack.empty() && map.get(stack.peek()) == curr) {
stack.pop();
} else {
return false;
}
}
}
return stack.empty();
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档