283-e-Move Zeroes

来源:互联网 发布:h5 js开发3d 编辑:程序博客网 时间:2024/04/30 23:57

将0都移动到数组末端。双指针一个个比较移动想了好久都不对,查了下别人的思路,可以把非0位都前移,只要记录下有多少个0那么将数组之后的数全部置0就行。代码很简单,所以说算法题还真是思路不对搞死都写不出来,需要及时换个思路也许代码就能很简单。

如下:

void moveZeroes(int* nums, int numsSize) {    int ip = 0, icur = 0;    for (; icur < numsSize; icur++) {        if (nums[icur] != 0) {            nums[ip] = nums[icur];            ip++;        }    }    while (ip < numsSize) {        nums[ip] = 0;        ip++;    }}


0 0
原创粉丝点击