Evaluate Reverse Polish Notation

来源:互联网 发布:人工智能公司 编辑:程序博客网 时间:2024/06/16 07:46
public class Solution {    public int evalRPN(String[] tokens) {        // reference http://joycelearning.blogspot.com/2014/03/leetcode-evaluate-reverse-polish.html        if(tokens==null || tokens.length <1) return 0;        Stack<String> st = new Stack<String>();        String opr = "+-*/";         for(String s: tokens){            if(!opr.contains(s)){                st.push(s);            }else{                int n1 = Integer.valueOf(st.pop()); //Integer.valueOf                int n2 = Integer.valueOf(st.pop());                                switch(s){                case "+": st.push(<span style="color:#ff0000;background-color: rgb(255, 255, 102);">String.valueOf</span>(n2+n1)); break;                 case "-": st.push(String.valueOf(n2-n1)); break;                case "*": st.push(String.valueOf(n2*n1)); break;                 case "/": if(n1!=0){                            st.push(String.valueOf(n2/n1)); break;                }                                    }                            }        }                return <span style="color:#ff0000;background-color: rgb(255, 255, 102);">Integer.valueOf</span>(st.pop());    }}         


注意 转换成string 和integer的用法 

0 0
原创粉丝点击