1 package leetcode; 2 3 import java.util.Stack; 4 5 public class RPN { 6 public static int evalRPN(String[] tokens) { 7 Stack stack=new Stack(); 8 for(int i=0;i<tokens.length;i++){ 9 if(tokens[i]=="+"){ 10 int a=Integer.parseInt((String)stack.pop()); 11 int b=Integer.parseInt((String)stack.pop()); 12 stack.push(a+b); 13 }else if(tokens[i]=="-"){ 14 int a=Integer.parseInt((String)stack.pop()); 15 int b=Integer.parseInt((String)stack.pop()); 16 stack.push(a-b); 17 }else if(tokens[i]=="*"){ 18 int a=Integer.parseInt((String)stack.pop()); 19 int b=Integer.parseInt((String)stack.pop()); 20 stack.push(a*b); 21 }else if(tokens[i]=="/"){ 22 int a=Integer.parseInt((String)stack.pop()); 23 int b=Integer.parseInt((String)stack.pop()); 24 if(b==0){ 25 return 0; 26 27 }else{ 28 stack.push(a/b); 29 } 30 31 }else{ 32 stack.push(tokens[i]); 33 } 34 35 } 36 int result=(int)stack.peek(); 37 return result; 38 } 39 public static void main(String[] args){ 40 String[] tokens={"0","3","/"}; 41 42 System.out.println(evalRPN(tokens)); 43 } 44 }
leetcode--002 rpn,布布扣,bubuko.com
原文:http://www.cnblogs.com/thehappyyouth/p/3875268.html