in this question we are changing either the left or right pointer inside the root node so why are we not passing it by reference as node*& root as we did in linked list when the next pointer of head node is changing.
according to me the code taught in this video will not work for the case when a node has 1 child as in that case we are deleting the the required node and making our previous node point to the next node.