Рекурсивное бинарное дерево в быстром - PullRequest
1 голос
/ 07 февраля 2020

Этот алгоритм правильно ищет дерево и возвращает 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)
    }
}
...