//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