自己做的网站如何链接到百度,seo wordpress 主题,做网站刷流量挣钱吗,河南seo外包个人主页#xff1a;Lei宝啊
愿所有美好如期而遇 力扣#xff08;LeetCode#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试#xff1f;力扣提供海量技术面试资源#xff0c;帮助你高效提升编程技能#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://le…
个人主页Lei宝啊
愿所有美好如期而遇 力扣LeetCode官网 - 全球极客挚爱的技术成长平台备战技术面试力扣提供海量技术面试资源帮助你高效提升编程技能轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/move-zeroes/
算法原理
双指针法不一定是说就要使用指针只是一种形象的说法在数组中我们一般将数组下标当做指针比如我们定义curdestcur的左边都是处理过的dest左边的都是非0dest和cur中间的都是0。开始我们将cur赋值0因为我们不知道下标为0的元素是否是0所以dest我们赋值为-1如果cur指向的元素值为0那么cur如果不为0那么dest然后和cur指向的元素交换值cur。我们重复上述步骤直到cur走到尽头。
图示 代码
class Solution {
public:void moveZeroes(vectorint nums) {int cur 0;int dest -1;while(cur nums.size()){if(nums[cur] ! 0){swap(nums[cur],nums[dest]);}else{cur;} } }
};