LeetCode283 -- iOS使用OC写算法之移动0

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

示例:

输入: [0,1,0,3,12]

输出: [1,3,12,0,0]

说明:

必须在原数组上操作,不能拷贝额外的数组。

尽量减少操作次数。

-(NSArray *)moveZeroes {

    NSMutableArray *nums = [@[@(0),@(1),@(0),@(3),@(1),@(2)]mutableCopy];

    int j = 0;

    for (int i = 0; i < nums.count; i ++) {

        if ([nums[i]intValue] != 0) {

            nums[j] = nums[i];

            if (i != j) {

                nums[i] = @(0);

            }

            j ++;

        }

    }

    return nums;

}

leetcode链接:https://leetcode-cn.com/problems/move-zeroes/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概念: 数组是一种线性表数据结构,用一组连续的内存空间,来存储一组具有相同类型的数据。1、了解线性表(每个数据...
    王小鹏的随笔阅读 321评论 0 0
  • 题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入...
    LonnieQ阅读 50评论 0 1
  • 数组中的问题其实最常见如:排序(选择排序、插入排序、归并排序、快速排序)、查找(二分查找法)、数据结构(栈、队列、...
    乄三楼半阅读 858评论 0 0
  • 原题链接:https://leetcode-cn.com/problems/move-zeroes/ 给定一个数组...
    huxq_coder阅读 307评论 0 2
  • 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例:输入: [0...
    Wuxie056阅读 488评论 0 1