Faaez Razeen

Asteroid Collision

  • 1 min read
  • Stacks
  • LC-Medium

3 years ago

Solution

TimeSpaceExplanation
O(n)O(n)
def asteroidCollision(self, asteroids: List[int]) -> List[int]: stack = [] for a in asteroids: while stack and stack[-1] > 0 and a < 0: diff = a + stack[-1] if diff < 0: stack.pop() elif diff > 0: a = 0 else: stack.pop() a = 0 if a: stack.append(a) return stack