4 移动0 给定一个数组nums编写一个函数将所有0移动到数组的末尾同时保持非零元素的相对顺序。请注意必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2:输入: nums [0] 输出: [0]提示:1 nums.length 104双指针解法1、创建左指针和右指针初始化都为02、左指针需要找到最前面为0的数字右指针需要找到最前面不为0的数字然后交换。有两个关键点无论怎么样每次循环r指针都要往前走一格r指针为非0时l和r指向的数据交换l再往前走一格。class Solution { public: void moveZeroes(vectorint nums) { int nnums.size(); if(n2) return ; int left0,right0; while(1){ if(nums[right]){ std::swap(nums[left],nums[right]); left; } right; if(rightn) break; } } };