考虑不同类型括号嵌套的情况
时间: 2024-03-01 12:55:40 浏览: 142
如果字符串中包含不同类型的括号,例如圆括号'('和')'、方括号'['和']'、花括号'{'和'}',那么我们可以使用一个Map来存储每种括号的对应关系,然后在遍历字符串时进行判断。
以下是Java代码实现:
```java
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
Map<Character, Character> map = new HashMap<>();
map.put('(', ')');
map.put('[', ']');
map.put('{', '}');
for (char c : s.toCharArray()) {
if (map.containsKey(c)) {
stack.push(c);
} else if (map.containsValue(c)) {
if (stack.isEmpty()) {
return false;
}
char top = stack.pop();
if (map.get(top) != c) {
return false;
}
}
}
return stack.isEmpty();
}
```
该方法的时间复杂度为O(n),其中n是字符串的长度。
阅读全文