(4-3)前缀、中缀、后缀表达式
一、前缀表达式
二、中缀表达式
三、后缀表达式
四、逆波兰表达式求值代码
class Solution { public int evalRPN(String[] tokens) { Stack<Integer> numStack = new Stack<>(); Integer op1,op2; for(String s : tokens){ switch(s){ case"+": op2 = numStack.pop(); op1 = numStack.pop(); numStack.push(op1 + op2); break; case "-": op2 = numStack.pop(); op1 = numStack.pop(); numStack.push(op1 - op2); break; case "*": op2 = numStack.pop(); op1 = numStack.pop(); numStack.push(op1 * op2); break; case "/": op2 = numStack.pop(); op1 = numStack.pop(); numStack.push(op1 / op2); break; default: numStack.push(Integer.valueOf(s)); break; } } return numStack.pop(); } }
五、中缀表达式转后缀表达式
代码略。