【LeetCode】283 Move Zeroes

题目链接

Move Zeroes

分析

把数组中的0移到数组的末尾,非0的数按照原来的先后顺序排在数组前面。
简单题。只要把原来数组中非0的数按照出现的先后顺序进行标记就行了。

代码

    class Solution {
    public:
        void moveZeroes(vector<int>& nums) {
            int cnt = 0;
            map<int, int> mm;
            int i;
            for(i=0; i<nums.size(); i++){
                if(nums[i] != 0){
                    mm.insert(make_pair(cnt++, nums[i]));
                }
            }
            for(i=0; i<cnt; i++){
                nums[i] = mm[i];
            }
            for(; i<nums.size(); i++){
                nums[i] = 0;
            }
        }
    };

你可能感兴趣的:(【LeetCode】283 Move Zeroes)