继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Lintcode539 Move Zeroes solution 题解

慕运维9515777
关注TA
已关注
手记 1
粉丝 0
获赞 0

【题目描述】

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

 Notice

You must do this in-place without making a copy of the array.

Minimize the total number of operations.

给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序

 注意事项

1.必须在原数组上操作

2.最小化操作数

【题目链接】

www.lintcode.com/en/problem/move-zeroes/

【题目解析】

1、使用两个"指针"x和y,初始令y = 0

2、利用x遍历数组nums:

3、若nums[x]非0,则交换nums[x]与nums[y],并令y+1

注意:

y指针指向首个0元素可能存在的位置

遍历过程中,算法确保[y, x)范围内的元素均为0

【参考答案】

www.jiuzhang.com/solutions/move-zeroes/



打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP