如何删除索引值为X的特定叶子节点并显示剩余的叶子节点?
How do I remove a specific leaf node with index value X and display the remaining leaf nodes?
测试用例:
输入:
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
您根据输入创建树结构。每个节点都有这个值: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);
}
测试用例:
输入:
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
您根据输入创建树结构。每个节点都有这个值: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);
}