当前位置: 首页 > news >正文

双指针详解

原地:

​
class Solution {
public:void moveZeroes(vector<int>& nums) {int left = -1;   //  用于维护不为0的数,及指向最后一个不为0的数,//  一开始不存在所以指向-1int right = 0;  //用来遍历数组while(right < nums.size()){if(nums[right]==0)   //如果相等0直接下一个{right++;}else{left++;      //如果不为0,因为不为0个数+1,所以left++swap(nums[left],nums[right]); // 并交互left和right指向的数,// 及让left指向非0数}}}
};​

解题思路:

思路一:如果可以不在原地数组进行操作的话,可建一个新数组,用一个指针指向原数组进行遍历,另一个指向新数组进行用于维护不为0的数 ,这是一个挺好想的思路。

思路二:但如果在原地进行操作呢,其实思路是一样的,一个指针进行遍历,另一个指针对不为0的数进行维护。

---------------------------------------------------------------------------------------------------------------------------------

异地

相关文章:

  • 《第五人格》暑期活动前瞻爆料:39赛季精华、限定时装返场、新玩法攻略
  • JavaScript 数组学习总结
  • 获取wordpress某个栏目的内容数量
  • 服务网格技术深度解析:Istio vs Linkerd的选型对比
  • 当前市场环境下,软件行业的突围之道:技术演进与商业模式重构
  • 异或和之差-字典树
  • Web后端开发(请求、响应)
  • 开启二进制日志 MySQL显示关闭,关闭二进制日志 MySQL恢复正常
  • 国防科技大学计算机基础慕课课堂学习笔记
  • 查看进程线程的方法
  • Hibernate Validator 数据验证
  • 曼昆《经济学原理》第九版 第八章税收的成本
  • 持续交付的进化:从DevOps到AI驱动的IT新动能
  • Zustand 第二章(状态处理)
  • BOM(Browser Object Model)核心对象手册
  • Windows设置之网络路由
  • Vue2面试题(一)
  • Java核心技术-卷I-读书笔记(第十二版)
  • 从0开始学习R语言--Day20-ARIMA与格兰杰因果检验
  • OpenJudge | 大整数乘法
  • 没人愿意干的68个暴利行业/郑州网站seo顾问
  • 广州安全教育平台登录账号/优化营商环境
  • 如何建设简易网站/手机系统流畅神器
  • 手机定制网站建设/重庆百度seo
  • wordpress安装点提交无法访问/seo排名优化首页
  • 网站外链哪里做/一般的电脑培训班要多少钱