题目
思路
- 经典
store_index类型题目,取法“快速排序”中将元素分到左右两边的操作。 store_index指针放在原地待命,i指针逐个往后扫,遇到合适的就与store_index位置上的交换,同时store_index += 1- 此题揭示了这种做法的一个重要性质:可以保证符合条件的元素保持原来顺序不变。
代码
class Solution {public:void moveZeroes(vector<int>& nums) {int n = nums.size(), store_index = 0;// 不是0的请往前面坐for (int i = 0; i < n; ++i) {if (nums[i] != 0) {swap(nums[i], nums[store_index]);store_index++;}}}};
