给定一个数组(例如,[1,0,2,0,0,3,4]),实现
将非零元素移动到数组的开头(其余元素无关紧要)
我已经实现了如下,它的工作,但我想更短的方式做它?
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}
}
关于arrays - Swift中的数组操作和重新排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52882611/