测试用例:
输入:
5
-1 0 0 1 1
2
输出:
2
说明:
上面显示了与数字输入对应的树。最初,有3片叶子,2,3和4(标记为绿色)。如果我们删除节点2,则剩下两个叶子,即3和4.因此,答案是2。
另一个测试案例:
输入:
5
-1 0 0 1 1
1
输出:
1
说明:
删除节点1后,剩下的唯一叶子是2。
答案 0 :(得分:0)
您可以根据输入创建树形结构。每个节点都有以下值:node = { value, leftChild, rightChild }
function trace(node, deletedValue) {
if (!node){
return; // nothing to see there
}
if (node.value === deletedValue) {
return; // this one is deleted, do not continue
}
if (!node.leftChild && !node.rightChild){
console.log(node.value); //found not deleted leaf
return;
}
trace(node.leftChild);
trace(node.rightChild);
}