Я пытаюсь перебрать значения в массиве, но получаю ошибку. Я не уверен, как исправить:
Ошибка комментируется ниже.Я думал, что способ итерации и извлечения каждого int был бы циклом for.Тем не менее, я пытался перебрать массив, а не int, как предлагает XCode.
public class TreeNode {
public var val: Int
public var left: TreeNode?
public var right: TreeNode?
public init(_ val: Int) {
self.val = val
self.left = nil
self.right = nil
}
}
func rangeSumBST(_ root: TreeNode?, _ L: Int, _ R: Int) -> Int {
var validNums: [Int] = []
//ERROR IS HERE
for value in TreeNode {
if (value >= L) {
if (value <= R) {
validNums.append(value)
}
}
}
print(validNums.reduce(0, +))
return validNums.reduce(0, +)
}
var root: [Int] = [10,5,15,3,7, 0 ,18]
var L = 7
var R = 15
Я ожидаю, что он будет пытаться перебрать массив, а не int в массиве, но, похоже, именно это он и делает, основываясь на приведенном ниже сообщении об ошибке:
ТипTreeNode.Type не соответствует протоколу Sequence