
package com.algorithm.demo.stack;import java.util.HashMap;import java.util.Map;import java.util.Stack;/** * @Author leijs * @date 2022/4/15 */public class StackDemo { public static void main(String[] args) { System.out.println(braceMatch("[]{}")); System.out.println(braceMatch("({[]})")); System.out.println(braceMatch("[(])")); System.out.println(braceMatch("[]{")); } public static boolean braceMatch(String str) { Stack<Character> stack = new Stack<>(); Map<Character, Character> map = new HashMap<>(); map.put('(', ')'); map.put('[', ']'); map.put('{', '}'); for (char ch : str.toCharArray()) { if (map.containsKey(ch)) { stack.push(ch); } else { if (stack.isEmpty()) { return false; } Character top = stack.pop(); if (map.get(top) != ch) { return false; } } } return stack.isEmpty(); }}