hot100_移动零 分析根据题目的意思我们要把零全部移动到后面在某个位置前面都不是零后面都是零并且要保证非零数字的相对位置不变。题解双指针因为只要后面都是零就可以了所以我们可以直接把非零数字直接按顺序赋值到前面后面统一处理后面该为零的位置。slow指针记录非零数字应该存储的位置。fast指针记录非零数字的位置。代码classSolution{public:voidmoveZeroes(vectorintnums){intslow0;for(intfast0;fastnums.size();fast){if(nums[fast]){nums[slow]nums[fast];}}while(slownums.size()){nums[slow]0;}}};时间复杂度O ( N ) O(N)O(N)优化版本直接交换即可不用二次处理classSolution{public:voidmoveZeroes(vectorintnums){intslow0;for(intfast0;fastnums.size();fast){if(nums[fast]!0){swap(nums[slow],nums[fast]);slow;}}}};283. 移动零 - 力扣LeetCode