首页 > 代码库 > leetcode--002 rpn

leetcode--002 rpn

 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 }