声明:
今天是第72道题。给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除
(手动比心ღ( ´・ᴗ・` ))
正文
题目:给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入:[0,1,0,3,12]输出:[1,3,12,0,0]
说明:
- 必须在原数组上操作,不能拷贝额外的数组。
- 尽量减少操作次数。
解法1。考察的是题干的转化和数组的属性如移除元素用remove,末尾增加元素用append,遍历数组一旦检测到0就remove,同时在末尾添0,代码如下。
执行用时: 160 ms, 在Move Zeroes的Python提交中击败了18.39% 的用户
class Solution(object):
def moveZeros(self,nums):
"""
:type nums: List[int]
:rtype: void Do not return anything, modify nums in-place instead.
"""
for num in nums:
if num==0:
nums.remove(num)
nums.append(0)
结尾
解法1:https://blog.csdn.net/hengxingty/article/details/77816838