美文网首页
1.3.9 左括号补全

1.3.9 左括号补全

作者: 风亡小窝 | 来源:发表于2016-07-18 11:55 被阅读12次
    String s = "1 + 2 ) * 3 - 4 ) * 5 - 6 ) ) )";
    
    LinkedStack<String> ops = new LinkedStack<>();
    LinkedStack<String> vals = new LinkedStack<>();
    
    for(int i = 0 ; i < s.length(); i++){
        char c = s.charAt(i);
        
        switch(c){
        case '+':
        case '-':
        case '*':
        case '/':
            ops.push(c + "");
            break;
            
        case ')':
            String sec = vals.pop();
            String fir = vals.pop();
            String op  = ops.pop();
            vals.push("(" + fir + op + sec + ")");
            break;
        case ' ':
            break;
        default:
                vals.push(c + "");
        }
    }
    
    System.out.println(vals.pop());
    
    Paste_Image.png

    相关文章

      网友评论

          本文标题:1.3.9 左括号补全

          本文链接:https://www.haomeiwen.com/subject/arvpjttx.html