使用栈思想,当遇到负数的时候,这时候就要考虑出栈了,如果是整数就得入栈, 很简单,看代码就懂,不过多解释了
var asteroidCollision = function (arr) {
var brr = [];
for (var item of arr) {
while (
brr.length &&
brr[brr.length - 1] > 0 &&
brr[brr.length - 1] < -item
) {
brr.pop();
}
if (brr.length && item < 0 && brr[brr.length - 1] === -item) {
brr.pop();
} else if (item > 0 || !brr.length || brr[brr.length - 1] < 0) {
brr.push(item);
}
}
return brr;
};