题目与求解
class Solution {
public:
int evalRPN(vector<string>& tokens) {
stack<int> st;
for(cosnt auto& str:tokens)
{
int right,left;
if(str=='+')
{
right=st.top();
st.pop();
left =st.top();
st.pop();
st.push(left+right);
}
else if(str=='-')
{
right=st.top();
st.pop();
left =st.top();
st.pop();
st.push(left+right);
}
else if(str=='*')
{
right=st.top();
st.pop();
left =st.top();
st.pop();
st.push(left+right);
}
else if(str=='/')
{
right=st.top();
st.pop();
left =st.top();
st.pop();
st.push(left+right);
}
else
{
/字符串转整形
st.push(stoi(str));
}
}
return st.top();
}
};
关于后缀表达式运算
也叫逆波兰表达式。
中缀首先要处理成后缀,然后cpu根据后缀进行运算。