本文介绍: 我们这里可以运用**“双指针”**的方法这里的双指针,并不是 c 语言中的指针,而是用数组模拟的指针。看到题目,首先看一下题干的要求,是在原数组内进行操作,平切保持非零元素的相对顺序。遇到非零元素:swap(dest+1,cur);首先先看题干,把数组中每个零都复写一遍,其他元素水平右移,并且就地修改。这个时候,数组就被 cur 和 dest 分成了三个区间。dest:已处理的区间内,在非零元素的最后一个位置。我们要定义两个“指针”,cur 和 dest。[ dest+1, cur-1 ] 0元素。
283. 移动零
看到题目,首先看一下题干的要求,是在原数组内进行操作,平切保持非零元素的相对顺序
这个时候我们看到了示例一:
[ 0, 1, 0, 3,12 ]
这个时候输出成为了
[ 1, 3, 12, 0, 0 ]
我们这里可以运用**“双指针”**的方法这里的双指针,并不是 c 语言中的指针,而是用数组模拟的指针
首先:
我们要定义两个“指针”,cur 和 dest
cur:从左往右扫描数组,遍历数组
dest:已处理的区间内,在非零元素的最后一个位置
1089. 复写零
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。