T3:牛牛与后缀表达式
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 给定一个后缀表达式,返回它的结果
* @param str string字符串
* @return long长整型
*/
public long solve (String s) {
int n = s.length();
Stack<Long> stack = new Stack<>();
long value = 0;
long c=0;
for(int i=0;i<n;i++){
if(s.charAt(i) == '+'){
long h = stack.pop();
long q = stack.pop();
stack.push(h+q);
}else if(s.charAt(i) == '-'){
long h = stack.pop();
long q = stack.pop();
stack.push(q-h);
}else if(s.charAt(i) == '*'){
long h = stack.pop();
long q = stack.pop();
stack.push(q*h);
}else if(s.charAt(i) == '/'){
long h = stack.pop();
long q = stack.pop();
stack.push(q/h);
}else if(s.charAt(i) == '#'){
stack.push(c);
c=0;
}else{
c=c*10+(s.charAt(i)-'0');
}
}
return stack.pop();
}
}
京公网安备 11010502036488号