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的用法