波波老师能否看一下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。
继续加油!:)
022020-03-05