Algorithem_MoveZeros
Given an integer array nums, move all 0’s to the end of it while maintaining the relative order of the non-zero elements.
Note that you must do this in-place without making a copy of the array.
Example 1:
1 |
|
Example 2:
1 |
|
解法一
实现逻辑:
首先把所有非0元素放到前面,并记录长度,最后从非0长度到数组尾部元素置为0
举例如下:
1 |
|
代码如下:
1 |
|
解法二
实现逻辑:
定义一个变量代表数组中0的个数,遍历数组,如果当前元素是0,则变量加1,如果当前元素不为0且变量长度大于0,则交换当前元素和前面变量个元素的位置。
举例如下:
1 |
|
代码如下:
1 |
|