跳至主要內容

150. 逆波兰表达式求值

T4mako算法数组小于 1 分钟

150. 逆波兰表达式求值

中等

解法:栈的思想

class Solution {
    public int evalRPN(String[] tokens) {
		LinkedList<String> list = new LinkedList<>();
		for (String s : tokens) {
			if (s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")) {
				String num1 = list.pollLast();
				String num2 = list.pollLast();
				if (s.equals("+")) {
					list.add(String.valueOf(Integer.valueOf(num2) + Integer.valueOf(num1)));
				} else if (s.equals("-")) {
					list.add(String.valueOf(Integer.valueOf(num2) - Integer.valueOf(num1)));
				} else if (s.equals("*")) {
					list.add(String.valueOf(Integer.valueOf(num2) * Integer.valueOf(num1)));
				} else if (s.equals("/")) {
					list.add(String.valueOf(Integer.valueOf(num2) / Integer.valueOf(num1)));
				}
			} else {
				list.add(s);
			}
		}
		return Integer.valueOf(list.getLast());
	}
}
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.5