波波老师能否看一下leetcode150题我哪里出了问题

来源:6-1 栈的基础应用 Valid Parentheses

v不离不弃v

2020-03-05

老师,我写完代码后,提交的时候出了一个这样的错误,说我数据类型转化有问题,在我注释的那里,老师能否帮我看看这个问题么?

class Solution {
    public int evalRPN(String[] tokens) {
		Stack<Integer> stack = new Stack<>();
		if(tokens.length == 0)
			return 0;
		int sum = 0;
		for(int i = 0; i < tokens.length; i ++) {
			String s = tokens[i];
			if(s != "+" && s != "-" && s != "*" && s != "/") {
				int a = Integer.valueOf(s);//系统说这里转化有问题,导致后面的+无法完成。。。
				stack.push(a);
			}
			else if(s == "+"){
				int b = stack.pop();
				int a = stack.pop();
				sum = a+b;
				stack.push(sum);
			}
			else if(s == "-") {
				int b = stack.pop();
				int a = stack.pop();
				sum = a-b;
				stack.push(sum);
			}
			else if(s == "*") {
				int b = stack.pop();
				int a = stack.pop();
				sum = a*b;
				stack.push(sum);
			}
			else if(s == "/") {
				int b = stack.pop();
				int a = stack.pop();
				sum = a/b;
				stack.push(sum);
			}
				 
		}
		return sum;
		
	}
}

系统报的错:
图片描述

写回答

1回答

liuyubobobo

2020-03-05

if(s != "+" && s != "-" && s != "*" && s != "/")


if(s == "+")

等等地方,字符串判断要用 equals。


继续加油!:)

0
2
liuyubobobo
回复
v不离不弃v
很正常的。这一点写 Java 特别容易忘,多犯几次错就好了:)继续加油!:)
2020-03-05
共2条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7410 学习 · 1150 问题

查看课程