题目
注意:
解析:
思路:
定义left和right指针,都初始化在数组的第一个位置,right指针一直向右走,如果right走到指向的值不为0时,那么right指针指向的值与left指针指向的值进行交换,然后left指针再向后走一步,如此循环,直到right指针走到数组结尾就结束。
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int left=0,right=0; //定义初始化left和right指针
int n=nums.size();
while(right<n)
{
if(nums[right])//right指针指向的值不为0
{
swap(nums[right],nums[left]);
left++;
}
right++;//right指针不断的向后走
}
}
};