算法2. 双指针法-复写零

题目描述:

解题:

先定义两个指针,指针(cur)指向0位置,指针(dest)指向-1位置,先从左向右循环遍历cur指针,先让cur指针先走,当cur指针的位置不等于0时,先让dest指针先走一步,当cur指针指向0位置时,让dest指针走两步,当dest走完时,cur指针的位置就是下一个开始循环遍历的位置,特殊情况:当dest指针越界时(如图所示),先让数组的个数-1,cur指针--,dest指针-= 2,再开始从右向左循环遍历,cur和dest指针--,当cur指针指向0时,让dest指针位置的值更改为0。

代码实现:

相关推荐
布莱克6051 小时前
C++ 中堆和栈的区别详解
开发语言·c++·栈·堆
Star(up up up)1 小时前
Docker系列---Docker容器基本命令(新手小白保姆级实操教程)
运维·学习·程序人生·青少年编程·docker·容器·dubbo
云析赢指标公式网41 小时前
文华财经指标源码笔记:WINNER筹码函数、控盘变量与MACD变体的调试记录
java·笔记·算法
无心水2 小时前
22、数学与经济管理(运筹学) 核心考点与学习笔记
人工智能·笔记·学习·架构师·软考·软考架构师·软考系统架构师
誰能久伴不乏2 小时前
用 UDP 做一条“可靠“的控制通道
c++·qt·网络协议·udp
十五年专注C++开发2 小时前
FlatBuffers: 一个高效的零拷贝二进制序列化库
c++·序列化·反序列化·flatbuffers
小弥儿2 小时前
38K星的开源项目 t3code:给 Claude Code 和 Codex 装一个手机遥控器
学习·智能手机·开源·github
xys_6782 小时前
深挖C++:C++入门基础
开发语言·c++
xxwl5853 小时前
Nginx 基础学习笔记
笔记·学习·nginx