- 逆波兰表达式求值
public class Solution
{
public int EvalRPN(string[] tokens)
{
Stack<int> stack = new Stack<int>();
foreach (string s in tokens)
{
if (s.Equals("+"))
{
stack.Push(stack.Pop() + stack.Pop());
}
else if (s.Equals("-"))
{
stack.Push(-stack.Pop() + stack.Pop());
}
else if (s.Equals("*"))
{
stack.Push(stack.Pop() * stack.Pop());
}
else if (s.Equals("/"))
{
int n = stack.Pop();
stack.Push(stack.Pop() / n);
}
else
{
stack.Push(int.Parse(s));
}
}
return stack.Pop();
}
}