import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 给定一个后缀表达式,返回它的结果 * @param str string字符串 * @return long长整型 */ public long legalExp (String str) { // write code here // long sum = 0; Stack<Long> zhan = new Stack<Long>(); StringBuilder strb = new StringBuilder( ); for(int i = 0; i<str.length(); i++){ Character charc = str.charAt(i); if(Character.isDigit(charc)){ strb.append(charc); } else if(charc.equals('#')){ System.out.println("00:"+strb.toString()); zhan.add(Long.parseLong(strb.toString())); strb.delete(0,strb.length()); // System.out.println("11:"+strb.toString()); } else if(charc.equals('+')){ long sum = zhan.pop() + zhan.pop(); zhan.push(sum); System.out.println("+:"+zhan.peek()); } else if(charc.equals('-')){ long sum = -zhan.pop() + zhan.pop(); zhan.push(sum); System.out.println("-:"+zhan.peek()); } else if(charc.equals('*')){ long sum = zhan.pop() * zhan.pop(); zhan.push(sum); System.out.println("*:"+zhan.peek()); } } return zhan.pop(); } }