Этот алгоритм правильно ищет дерево и возвращает true, если searchValue находится в дереве, я понимаю базовый случай, но я немного растерялся в операторе else
, я не понимаю, что такое ||
В этом случае он возвращает оба из них или только один в определенных случаях?
func search(node: Node?, searchValue: Int) -> Bool {
if(node == nil){
return false
}
if(node?.value == searchValue){
return true
} else {
return search(node: node?.leftChild, searchValue: searchValue) || search(node: node?.rightChild, searchValue: searchValue)
}
}