История изменений
Исправление korvin_, (текущая версия) :
Что тут пишутт вообще, я не понимаю, что вы несете?
Еще раз, два итератора, которые делаются хранением стейта BFS вне функции. Каждый по очереди дергаешь и сравниваешь.
Именно это и написали.
chan1 := WalkTree(tree1)
chan2 := WalkTree(tree2)
— два итератора.
for {
node1 := <-chan1
node2 := <-chan2
if node1 == nil && node2 == nil {
return true
}
if node1 == nil || node2 == nil {
return false
}
if !comparator(node1, node2) {
return false
}
}
— дергаются и сравниваются. Что тебе не понятно?
Исходная версия korvin_, :
Что тут пишутт вообще, я не понимаю, что вы несете?
Еще раз, два итератора, которые делаются хранением стейта BFS вне функции. Каждый по очереди дергаешь и сравниваешь.
Именно это и написали.
chan1 := WalkTree(tree1)
chan2 := WalkTree(tree2)
-- два итератора.
for {
node1 := <-chan1
node2 := <-chan2
if node1 == nil && node2 == nil {
return true
}
if node1 == nil || node2 == nil {
return false
}
if !comparator(node1, node2) {
return false
}
}
-- дергаются и сравниваются. Что тебе не понятно?