括号匹配算法 java 实现
时间: 2023-08-22 18:10:23 浏览: 104
括号匹配算法是用来检查字符串中的括号是否匹配的算法。下面是一个简单的括号匹配算法的 Java 实现:
```java
import java.util.Stack;
public class BracketMatching {
public static boolean isBracketMatch(String str) {
Stack<Character> stack = new Stack<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c '(' || c == '[' || c == '{') {
stack.push(c);
} else if (c == ')' || c == ']' || c == '}') {
if (stack.isEmpty()) {
return false;
}
char top = stack.pop();
if ((c == ')' && top != '(') || (c == ']' && top != '[') || (c == '}' && top != '{')) {
return false;
}
}
}
return stack.isEmpty();
}
public static void main(String[] args) {
String str1 = "({})";
String str2 = "({[})";
System.out.println(isBracketMatch(str1)); // true
System.out.println(isBracketMatch(str2)); // false
}
}
```
这个算法使用了一个栈来存储左括号,当遇到右括号时,从栈中弹出一个左括号与之匹配。如果遍历完字符串后栈为空,则说明括号匹配成功,否则括号不匹配。以上是一个简单的实现,你可以根据需要进行扩展和优化。
阅读全文