Еще одна запись и график исчезает - есть ли предел в VL?

У вашего кода есть некоторая путаница при обработке символов '{' и '}'. Он должен быть полностью параллелен тому, как вы обрабатываете '(' и ')'.

Этот код, слегка измененный от вашего, кажется, работает правильно:

public static boolean isParenthesisMatch(String str) {
    if (str.charAt(0) == '{')
        return false;

    Stack<Character> stack = new Stack<Character>();

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

        if(c == '(')
            stack.push(c);
        else if(c == '{')
            stack.push(c);
        else if(c == ')')
            if(stack.empty())
                return false;
            else if(stack.peek() == '(')
                stack.pop();
            else
                return false;
        else if(c == '}')
            if(stack.empty())
                return false;
            else if(stack.peek() == '{')
                stack.pop();
            else
                return false;
    }
    return stack.empty();
}
2
задан campo 16 January 2019 в 22:59
поделиться

1 ответ

Реализация Canvas в сети имеет ограниченную максимальную ширину / высоту. Попробуйте переключиться на рендерер SVG.

0
ответ дан kanitw 16 January 2019 в 22:59
поделиться