Scribbling

[Java 101] 20. Valid Parentheses: Stack 본문

Computer Science/Java

[Java 101] 20. Valid Parentheses: Stack

focalpoint 2023. 2. 23. 01:29
class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();
        for (var c: s.toCharArray()) {
            if (c == '{' || c == '[' || c == '(') {
                stack.add(c);
            } else {
                if (stack.empty()) return false;
                Character popped = stack.pop();
                if (c == '}') {
                    if (popped != '{') return false;
                }
                else if (c == ']') {
                    if (popped != '[') return false;
                }
                else if (c == ')') {
                    if (popped != '(') return false;
                }
            }
        }
        return stack.empty();
    }
}