题目链接
英文链接:https://leetcode.com/problems/evaluate-reverse-polish-notation/
中文链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/
题目详述
根据逆波兰表示法,求表达式的值。
有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
说明:
整数除法只保留整数部分。
给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
示例 1:
1 | 输入: ["2", "1", "+", "3", "*"] |
示例 2:
1 | 输入: ["4", "13", "5", "/", "+"] |
示例 3:
1 | 输入: ["10", "6", "9", "3", "+", "-11", "*", "/", "*", "17", "+", "5", "+"] |
题目详解
栈的经典问题。
- 如果是数,压入栈中。
- 如果是运算符,弹出栈顶的两个元素进行运算,再将结果压入栈中。
- 最终栈内剩余的一个元素就是结果。
1 | public class LeetCode_00150 { |