如何高效刷题实现力扣移动零问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计992个文字,预计阅读时间需要4分钟。
力扣刷题之移动零+ 这是力扣题库中的第283题。题目:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在原地修改数组,不使用额外空间。
力扣刷题之移动零
这是力扣题中的第283题。
题目
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
题目要求将数组中的零移动到数组后面。并且只能在原数组上操作,不可以复制,不可以打乱原来数组元素的顺序。
于是对于中元素的移动的话,如果脑子转动不是很灵光的话,就建议去自己画一个图去试着操作,看看怎么去移动。
你看这些打乱的零怎么移动到后面
将零移动到后面,那就需要将非零元素移动到前面。
一种想法,我们可以用两个指针,然后开始同时初始化指向数组的头部。
然后怎么移动呢?黄色的指针开始移动,移动到3,它不是零,我们将它替换掉白色位置上的0的值。
继续,到这里的时候,我们的黄色指针指向零,我们当然是不会将零前移动的。
这里没有发生移动,白色的指针不要动,黄色的继续移动。
本文共计992个文字,预计阅读时间需要4分钟。
力扣刷题之移动零+ 这是力扣题库中的第283题。题目:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在原地修改数组,不使用额外空间。
力扣刷题之移动零
这是力扣题中的第283题。
题目
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
题目要求将数组中的零移动到数组后面。并且只能在原数组上操作,不可以复制,不可以打乱原来数组元素的顺序。
于是对于中元素的移动的话,如果脑子转动不是很灵光的话,就建议去自己画一个图去试着操作,看看怎么去移动。
你看这些打乱的零怎么移动到后面
将零移动到后面,那就需要将非零元素移动到前面。
一种想法,我们可以用两个指针,然后开始同时初始化指向数组的头部。
然后怎么移动呢?黄色的指针开始移动,移动到3,它不是零,我们将它替换掉白色位置上的0的值。
继续,到这里的时候,我们的黄色指针指向零,我们当然是不会将零前移动的。
这里没有发生移动,白色的指针不要动,黄色的继续移动。

