```
class Solution:
# @param tokens, a list of string
# @return an integer
def evalRPN(self, tokens):
stack = []
for token in tokens:
if token == "+":
rhs = float(stack.pop())
lhs = float(stack.pop())
stack.append(lhs + rhs)
continue
if token == "-":
rhs = float(stack.pop())
lhs = float(stack.pop())
stack.append(lhs - rhs)
continue
if token == "*":
rhs = float(stack.pop())
lhs = float(stack.pop())
stack.append(lhs * rhs)
continue
if token == "/":
rhs = float(stack.pop())
lhs = float(stack.pop())
stack.append(lhs / rhs)
continue
stack.append(token)
return int(float(stack.pop()))
```

I thing it's because rounding problem 16.54545454 + 5 ==> 21 but the answer is 22