[Leetcode] 283. Move Zeroes 解题报告

xiaoxiao2021-02-28  118

题目:

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:

You must do this in-place without making a copy of the array.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++]); } } } };

转载请注明原文地址: https://www.6miu.com/read-31810.html

最新回复(0)