链接: https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/
后缀表达式求值
class Solution { public: int evalRPN(vector<string> &tokens) { stack<int> stk; int ans=0; for(int i=0;i<tokens.size();i++) { string tem=tokens[i]; if((tem[0]>='0'&&tem[0]<='9')||(tem[1]>='0'&&tem[1]<='9')) //为数字 { stk.push(atoi(tem.c_str())); } else //为字符 { int a=stk.top(); stk.pop(); int b=stk.top(); stk.pop(); if(tem=="+") ans=b+a; if(tem=="-") ans=b-a; if(tem=="*") ans=b*a; if(tem=="/") ans=b/a; stk.push(ans); } } return stk.top(); } };
天下武功,唯快不破