如何删除索引值为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);
}