Problem:
Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are+,-,*,/. Each operand may be an integer or another expression.
Some examples:
["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9 ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
My answer:
需要掌握的知识点:stoi(tokens[i]); 将字符串转换成整形数字。
基于C++11标准
标准库中定义了to_string(val),将val转换成string类型;
stoi(s,p,b): 返回s起始子串(表示整数内容的字符串)的数值,返回值的类型为int。其中b表示转换所用的基数,默认为10(表示十进制)。p是size_t的指针,用来保存s中第一个非数值字符的下标,p默认为0,即函数不返回下标。