283. 移动零

作者: 花果山松鼠 | 来源:发表于2018-09-21 11:03 被阅读3次

一、题目原型:

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

二、题目意思剖析:

示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
说明:
必须在原数组上操作,不能拷贝额外的数组。
尽量减少操作次数。

三、解题思路:

遍历数组,如果发现元素=0,直接删除当前元素,在数组末尾加上0

[0,1,0,3,12]
[1,0,3,12,0]
[1,3,12,0,0]
[1,3,12,0,0]
func moveZeroes(_ nums: inout [Int]) {
    
    if nums.count == 1 {
        return
    }
    var i: Int = 0
    var j: Int = 0
    let n: Int = nums.count
    while i<n && j<n {
        if nums[i] == 0 {
              print("\(i)开始\(nums)")
            nums.remove(at: i)
              print("\(i)删除\(nums)")
            nums.append(0)
              print("\(i)添加\(nums)")
        }else {
          i = i + 1
        }
        j = j + 1
    }
}

四、小结

耗时32毫秒,超过59.06%的提交记录,总提交数21

相关文章

  • 283. 移动零

    283. 移动零

  • LeetCode考试

    283. 移动零](https://leetcode-cn.com/problems/move-zeroes/) ...

  • 每日一题20201119(283. 移动零)

    283. 移动零[https://leetcode-cn.com/problems/move-zeroes/] 思...

  • 算法:数组(二)

    283. 移动零 - 力扣(LeetCode) (leetcode-cn.com)[https://leetcod...

  • LeetCode 281-310

    283. 移动零[https://leetcode-cn.com/problems/move-zeroes/] 2...

  • LeetCode:283. 移动零

    问题链接 283. 移动零[https://leetcode-cn.com/problems/move-zeroe...

  • 283. 移动零

    题目地址(283. 移动零) https://leetcode.cn/problems/move-zeroes/[...

  • 283. 移动零

    题目 分析 其实题目本身并不难,主要是他要求必须在原数组上进行操作,不能拷贝额外的数组。这里用到了双指针法,快指针...

  • 283.移动零

    题目 给定一个数组 nums, 编写一个函数将所有 0 移动到它的末尾,同时保持非零元素的相对顺序。 例如, 定义...

  • 283. 移动零

    一、题目原型: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 二...

网友评论

    本文标题:283. 移动零

    本文链接:https://www.haomeiwen.com/subject/rmlanftx.html