leetcode_Evaluate Reverse Polish Notation

来源:互联网 发布:东莞天迅网络 编辑:程序博客网 时间:2024/06/08 18:12
    /*     * Evaluate Reverse Polish Notation     * */    public int evalRPN(String[] tokens)     {    int result = 0;    Stack<Integer> mStack = new Stack<>();    for(String mString:tokens)    {    //mind the sequence of op1 and op2    if(mString.equals("+"))    {    Integer op1 = mStack.pop();    Integer op2 = mStack.pop();    Integer op3 = op2+op1;    mStack.push(op3);    }    else if(mString.equals("-"))    {    Integer op1 = mStack.pop();    Integer op2 = mStack.pop();    Integer op3 = op2-op1;    mStack.push(op3);    }    else if(mString.equals("*"))    {    Integer op1 = mStack.pop();    Integer op2 = mStack.pop();    Integer op3 = op2*op1;    mStack.push(op3);    }    else if(mString.equals("/"))    {    Integer op1 = mStack.pop();    Integer op2 = mStack.pop();    Integer op3 = op2/op1;    mStack.push(op3);    }    else     {    mStack.push(Integer.parseInt(mString));}    }    return mStack.pop().intValue();    }
总结延伸:逆波兰式计算 、一些容器的使用
0 0