cppclass Solution { public: void moveZeroes(vector<int>& nums) { int l=0,r=0; while(r<nums.size()) { if(nums[r]) { swap(nums[l],nums[r]); l++; }r++; } } };双指针算法,一个指针指在左边不动,如果这个指的是0的话,则另一个指针向右移动,一直找到不是0的位置,交换两者数据,两个指针右移;如果第一个指针指的不是0,则两个指针一起向右移动。
Leetcode-hot100-283.移动零
丰海洋2026-02-19 10:27