今是昨非

今是昨非

日出江花红胜火,春来江水绿如蓝

移動零

移动零算法#

给定一个整数数组 nums,将所有的 0 移动到数组的末尾,同时保持非零元素的相对顺序。

注意,必须在原地修改输入数组,不得使用额外的数组。

示例 1:

示例 2:

解法一#

实现逻辑:

首先将所有非零元素放在数组的前面,并记录非零元素的个数,然后将非零元素之后的元素置为 0。

举例如下:

代码如下:

解法二#

实现逻辑:

定义一个变量 snowballSize 表示数组中 0 的个数,遍历数组,如果当前元素是 0,则将 snowballSize 加 1,如果当前元素不为 0 且 snowballSize 大于 0,则交换当前元素和前面 snowballSize 个元素的位置。

举例如下:

代码如下:

参考#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。