这一题,读懂题目就好了,没啥弯弯绕绕
判断是否是数字,使用 isNaN,然后细分情况即可,要区分使用pop的情况
var calPoints = function (operations) {
let score = []
for (let i = 0; i < operations.length; ++i) {
if (!isNaN(operations[i])) {
score.push(Number(operations[i]))
} else {
if (operations[i] === 'C') {
score.pop()
} else if (operations[i] === 'D') {
let last = score[score.length - 1]
score.push(last * 2)
} else if (operations[i] === '+') {
let last = score[score.length - 1]
let secondLast = score[score.length - 2]
score.push(last + secondLast)
}
}
}
let sum = 0
for (let num of score) {
sum += num
}
return sum
};