[Leetcode] 283. Move Zeroes 解题报告

来源:互联网 发布:怎么在淘宝上注册店 编辑:程序博客网 时间:2024/06/02 02:35

题目

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

Note:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

思路

好简洁的代码呀!注意理解k的含义。

代码

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

原创粉丝点击