735. 小行星碰撞
题目链接:735. 小行星碰撞
代码如下:
class Solution
{
public:
//栈的简单应用
vector<int> asteroidCollision(vector<int>& asteroids)
{
vector<int> res;
for(int i=0;i<asteroids.size();i++)
{
bool alive=true;
while(alive&&asteroids[i]<0&&!res.empty()&&res.back()>0)
{
alive=res.back()<abs(asteroids[i]);//判断当前行星能否继续存在
if(res.back()<=abs(asteroids[i]))// 栈顶行星爆炸
{
res.pop_back();
}
}
if(alive) {res.push_back(asteroids[i]);}
}
return res;
}
};