(4-3)前缀、中缀、后缀表达式
来源:【尚硅谷】数据结构与算法(Java数据结构与算法)
一、前缀表达式
二、中缀表达式
三、后缀表达式
四、逆波兰表达式求值代码
力扣地址:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/solution/javachun-shu-zu-he-zhan-liang-chong-shi-xian-jian-/
class Solution { public int evalRPN(String[] tokens) { StacknumStack = 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(); } }
五、中缀表达式转后缀表达式
代码略。