import java.util.Stack; public class LeetCode_20_129 { public static boolean isValid(String s) { char[] chars = s.toCharArray(); Stack stack = new Stack<>(); for (char c : chars) { if ('(' == c || '[' == c || '{' == c) { stack.push(c); } else if (')' == c || ']' == c || '}' == c) { if (stack.empty()) { return false; } char e = stack.pop(); if (!isSame(e, c)) { return false; } } } if (stack.empty()) { return true; } else { return false; } } private static boolean isSame(char c1, char c2) { return (c1 == '(' && c2 == ')') || (c1 == '[' && c2 == ']') || (c1 == '{' && c2 == '}'); } }