2
pub fn asteroid_collision(asteroids: Vec<i32>) -> Vec<i32> {3
let mut stack: Vec<i32> = Vec::new();4
for element in asteroids {6
while !(stack.is_empty()) {7
let curr_asteroid: i32 = stack.pop().unwrap();8
if curr_asteroid * element < 0 && curr_asteroid.abs() > element.abs() && element < 0 {10
stack.push(curr_asteroid);12
} else if curr_asteroid * element < 0 && curr_asteroid.abs() == element.abs() && element < 017
if curr_asteroid * element > 0 || (curr_asteroid * element < 0 && element > 0) {18
stack.push(curr_asteroid);