No Polo Norte, os elfos têm duas árvores binárias mágicas que geram energia 🌲🌲 para manter acesa a estrela natalina ⭐️. No entanto, para que funcionem corretamente, as árvores devem estar em perfeita sincronia como espelhos 🪞.
Duas árvores binárias são espelhos se:
E a árvore é representada com três propriedades value, left e right. Dentro destas duas últimas se vai mostrando o resto dos ramos (se houver):
const tree = {
value: '⭐️',
left: {
value: '🎅'
// left: {...}
// right: { ... }
},
right: {
value: '🎁'
// left: { ... }
// right: { ... }
}
}
Papai Noel precisa de sua ajuda para verificar se as árvores estão sincronizadas para que a estrela possa continuar brilhando. Você deve devolver um array onde a primeira posição indica se as árvores estão sincronizadas e a segunda posição devolve o valor da raiz da primeira árvore.
const tree1 = {
value: '🎄',
left: { value: '⭐' },
right: { value: '🎅' }
}
const tree2 = {
value: '🎄',
left: { value: '🎅' }
right: { value: '⭐' },
}
isTreesSynchronized(tree1, tree2) // [true, '🎄']
/*
tree1 tree2
🎄 🎄
/ \ / \
⭐ 🎅 🎅 ⭐
*/
const tree3 = {
value: '🎄',
left: { value: '🎅' },
right: { value: '🎁' }
}
isTreesSynchronized(tree1, tree3) // [false, '🎄']
const tree4 = {
value: '🎄',
left: { value: '⭐' },
right: { value: '🎅' }
}
isTreesSynchronized(tree1, tree4) // [false, '🎄']
isTreesSynchronized(
{ value: '🎅' },
{ value: '🧑🎄' }
) // [false, '🎅']

