程式語言 - LeetCode - C++ - 735. Asteroid Collision



參考資訊:
https://www.cnblogs.com/grandyang/p/8035551.html

題目:


解答:

class Solution {
public:
    vector<int> asteroidCollision(vector<int>& asteroids) {
        vector<int> r;

        for (auto it = asteroids.begin(); it != asteroids.end(); it++) {
            if (*it > 0) {
                r.push_back(*it);
                continue;
            }

            if ((r.size() == 0) || (*r.rbegin() < 0)) {
                r.push_back(*it);
                continue;
            }

            if (-*it >= *r.rbegin()) {
                if (-*it > *r.rbegin()) {
                    it--;
                }
                r.pop_back();
            }
        }

        return r;
    }
};