Java判断字符串是否是有效的括号

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

有效字符串需要满足:

左括号必须用相同类型的右括号闭合。例如:"\[\]","()","{}"

左括号必须以正确的顺序闭合。例如:"()"

每个右括号都有一个对应的相同类型的左括号。例如:"(){}"

java 复制代码
package learnProject.csdn;

/**
 * 
 * @author Roc-xb
 *
 */
public class ValidParentheses {

	public static boolean isValid(String s) {
		if (s == null || s.length() == 0)
			return false;
		char[] stack = new char[s.length()];
		int head = 0;
		for (char c : s.toCharArray()) {
			switch (c) {
			case '{':
			case '[':
			case '(':
				stack[head++] = c;
				break;
			case '}':
				if (head == 0 || stack[--head] != '{') {
					return false;
				}
				break;
			case ')':
				if (head == 0 || stack[--head] != '(') {
					return false;
				}
				break;
			case ']':
				if (head == 0 || stack[--head] != '[') {
					return false;
				}
				break;
			}
		}
		return head == 0;
	}

	public static void main(String[] args) {
		System.out.println(isValid(null));

	}
}
相关推荐
兰令水3 分钟前
leecodecode【二叉树排序+最近公共祖先】【2026.6.2打卡-java版本】
java·数据结构·算法·leetcode
人道领域3 分钟前
【LeetCode刷题日记】77&&216.回溯算法剪枝优化在组合问题中的应用
java·算法·leetcode
诸葛务农6 分钟前
共沸脱水技术及其在光刻胶用PGMEA纯化中的应用(上)
java·数据库·算法
风兮雨露7 分钟前
Java 从入门到精通,前端资料
java·开发语言·前端
NE_STOP7 分钟前
Docker--认识Docker网络
java
之歆9 分钟前
在 IntelliJ IDEA 里复刻 Cursor 式内联审查:一篇够长的架构复盘-从入门到放弃
java·架构·intellij-idea
维度跃迁笔记9 分钟前
2核4G轻量服务器部署GitLab实战:配置调优与CI/CD拆分方案
服务器·ci/cd·gitlab
码不停蹄的玄黓10 分钟前
Java 频繁GC 完整排查流程
java·开发语言
IronMurphy13 分钟前
微服务拷打最后一讲!!!
java·微服务·架构
凤山老林14 分钟前
73-Java ListIterator 接口
java·开发语言