//0多的情况,且能保证非0顺序

#include <Foundation/Foundation.h>

// .h
@interface Solution : NSObject
+ (NSMutableArray*) moveZeros: (NSMutableArray*)nums;
@end

// .m
@interface Solution ()
@end

@implementation Solution

+ (NSMutableArray*) moveZeros: (NSMutableArray*)nums {
    if (nums == nil) {
        return nil;
    }

    NSInteger len = nums.count;
    NSInteger start = 0;
    NSInteger i = 0;
    for (; i < len; ++i) {
        if ([nums objectAtIndex: i] != 0) {
            if (start != i) {
                [nums exchangeObjectAtIndex: start withObjectAtIndex: i];
            }
            start++;
        }
    }
    return nums;
}

@end

results matching ""

    No results matching ""