參考資訊:
https://www.cnblogs.com/grandyang/p/8035551.html
題目:
解答:
int* asteroidCollision(int* asteroids, int asteroidsSize, int* returnSize) { int cc = 0; int idx = 0; int *r = malloc(sizeof(int) * asteroidsSize); for (cc = 0; cc < asteroidsSize; cc++) { if (asteroids[cc] > 0) { r[idx++] = asteroids[cc]; continue; } if ((idx == 0) || (r[idx - 1] < 0)) { r[idx++] = asteroids[cc]; continue; } if (r[idx - 1] <= abs(asteroids[cc])) { if (r[idx - 1] < abs(asteroids[cc])) { cc -= 1; } idx -= 1; } } *returnSize = idx; return r; }