Соответствие скобок / скобок с использованием алгоритма стека

Например, если скобки / скобки совпадают в следующем:

({})
(()){}()
()

и так далее, но если скобки / скобки не совпадают, они должны вернуть false, например:

{}
({}(
){})
(()

и так далее. Можете ли вы проверить этот код? Заранее спасибо.

public static boolean isParenthesisMatch(String str) {
    Stack<Character> stack = new Stack<Character>();

    char c;
    for(int i=0; i < str.length(); i++) {
        c = str.charAt(i);

        if(c == '{')
            return false;

        if(c == '(')
            stack.push(c);

        if(c == '{') {
            stack.push(c);
            if(c == '}')
                if(stack.empty())
                    return false;
                else if(stack.peek() == '{')
                    stack.pop();
        }
        else if(c == ')')
            if(stack.empty())
                return false;
            else if(stack.peek() == '(')
                    stack.pop();
                else
                    return false;
        }
        return stack.empty();
}

public static void main(String[] args) {        
    String str = "({})";
    System.out.println(Weekly12.parenthesisOtherMatching(str)); 
}

Ответы на вопрос(24)

Ваш ответ на вопрос