洛谷的P2002java写法
时间: 2024-10-15 08:08:58 浏览: 40
P2002是洛谷(LeetCode)上的一道题目,通常涉及字符串操作。这道题目的标题叫做“有效的括号序列”,它让你检查一个给定的字符串是否可以表示为有效括号序列(例如,`"()"`, `"()[]{}"` 等)。在 Java 中解决这个问题,你可以使用栈数据结构,按照以下步骤:
```java
public class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
if (c == '(' || c == '[' || c == '{') { // 如果遇到左括号,入栈
stack.push(c);
} else if (c == ')' && !stack.isEmpty() && stack.peek() == '(') { // 如果遇到右括号,且栈顶是对应左括号,出栈
stack.pop();
} else if (c == ']' && !stack.isEmpty() && stack.peek() == '[') { // 类似处理方括号
stack.pop();
} else if (c == '}' && !stack.isEmpty() && stack.peek() == '{') {
stack.pop();
} else {
return false; // 如果遇到了非括号字符,或者右括号前没有对应的左括号,返回false
}
}
// 如果最后栈为空,说明所有括号都配对了,返回true;否则返回false
return stack.isEmpty();
}
}
```
阅读全文