问题

例子

思路
-
方法1
遍历逆波兰表达式,如果是数字,放入栈中,如果是操作符,则从栈中取出两个树,操作后,再放入栈。
最后栈中剩下一个元素 -
方法2
代码
//方法1
class Solution {
public int evalRPN(String[] arr) {
Stack<Integer> st = new Stack<>();
String signs = "+-*/";
for(String s : arr) {
//是符号
if(signs.indexOf(s)>-1){
int b = st.pop();
int a = st.pop();
switch(s) {
case "+":
st.push(a+b);break;
case "-":
st.push(a-b);break;
case "*":
st.push(a*b);break;
case "/":
st.push(a/b);break;
}
}
//是数字
else st.push(Integer.valueOf(s));
}
return st.pop();
}
}
//方法2

本文介绍了一种解决逆波兰表达式求值问题的方法。通过使用栈数据结构,该算法可以高效地处理包括加、减、乘、除在内的四则运算。文章详细解释了两种方法的实现过程,包括如何遍历表达式并进行相应的数学运算。

1304

被折叠的 条评论
为什么被折叠?



