class Solution {
public int[] asteroidCollision(int[] asteroids) {
Deque<Integer> stack = new LinkedList<Integer>();
int length = asteroids.length;
for(int i = 0;i < length; i++)
{
boolean flag = true;
while(stack.size() != 0){
int top = stack.peek();
if(top > 0 && asteroids[i] < 0){
if(Math.abs(top) > Math.abs(asteroids[i])){
flag = false;
break;
}
else if(Math.abs(top) == Math.abs(asteroids[i])){
flag = false;
stack.pop();
break;
}
else{
stack.pop();
}
}
else
break;
}
if(flag==true)
stack.push(asteroids[i]);
}
int[] ans = new int[stack.size()];
int k = 0;
while(stack.size() != 0){
ans[k] =stack.removeLast();
k+=1;
}
return ans;
}
}
LeetCode-735 行星碰撞
最新推荐文章于 2022-07-19 00:50:11 发布