LeetCode-283. Move Zeroes

xiaoxiao2021-02-28  25

1. 题目

Move Zeroes

给定一个数组nums,写一个函数,将0移到数组尾,并保持非0元素的相对顺序。 要求: - 必须就地操作,不能复制数组; - 最小化操作总次数。

2. 分析

采用类似选择排序的思想 只是此时前移的不再是min_val而是非0元素

3. 代码

class Solution { public: void moveZeroes(vector<int>& nums) { int len = nums.size(); if(len <= 1) return; int index = 0; for (int i = 0; i < len; ++i) { if (nums[i] != 0) { swap(nums[index], nums[i]); ++index; } } return; } };
转载请注明原文地址: https://www.6miu.com/read-2602780.html

最新回复(0)