小编Shu*_*o0o的帖子

括号/括号匹配使用堆栈算法

例如,如果括号/括号在以下内容中匹配:

({})
(()){}()
()
Run Code Online (Sandbox Code Playgroud)

依此类推,但如果括号/括号不匹配,则应返回false,例如:

{}
({}(
){})
(()
Run Code Online (Sandbox Code Playgroud)

等等.你能查一下这段代码吗?提前致谢.

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 …
Run Code Online (Sandbox Code Playgroud)

java stack parentheses

29
推荐指数
5
解决办法
14万
查看次数

对特定行使用 glLineWidth 而不影响其他行

我是 OpenGL 的新手。我只是想使用 glLineWidth 加粗一条线,但这也会影响所有其他线。所以我尝试了另一种方式,将 glLineWidth 放在开始和结束之间,然后它不起作用。我的代码如下所示:

glBegin(GL_LINES);
glLineWidth(3);
glVertex2f(5, 10);
glVertex2f(30, 35);
glEnd();

glBegin(GL_LINES);
glVertex2f(20, 25);
glVertex2f(50, 55);
glEnd();
Run Code Online (Sandbox Code Playgroud)

那么有没有办法只让这条线变粗呢?我一直在谷歌搜索,但找不到简单的解决方案:S

opengl

1
推荐指数
1
解决办法
5198
查看次数

标签 统计

java ×1

opengl ×1

parentheses ×1

stack ×1