本文介绍了Swift 中的数组操作和重新排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给定一个数组(例如,[ 1, 0, 2, 0, 0, 3, 4 ]),实现方法将非零元素移动到数组的开头(其余元素无关紧要)
Given an array (for example, [ 1, 0, 2, 0, 0, 3, 4 ]), implement methods thatmoves the non-zero elements to the beginning of the array (the rest of the elements don't matter)
我已经实现如下,它有效,但我想知道更短的方法吗?
I have implemented as follows, it works but I wonder shorter way of doing it?
import Foundation
var inputArray = [ 1, 0, 2, 0, 0, 3, 4 ]
func remoZeros (inputArray :[Int]) -> [Int]
{
var nonZeroArray = [Int]()
var zeroArray = [Int]()
for item in inputArray
{
if item != 0
{
nonZeroArray.append(item)
}
else
{
zeroArray.append(item)
}
}
return nonZeroArray + zeroArray
}
var result = remoZeros (inputArray: inputArray)
推荐答案
你可以试试
var inputArray = [ 1, 0, 2, 0, 0, 3, 4 ]
func remoZeros (inputArray :[Int]) -> [Int] {
return inputArray.filter{$0 != 0} + inputArray.filter{$0 == 0}
}
这篇关于Swift 中的数组操作和重新排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!