回答編集履歴
1
誤り訂正
answer
CHANGED
@@ -25,7 +25,8 @@
|
|
25
25
|
//削除対象ノードの下に子ノードが0個ならばNULLをセット。
|
26
26
|
if (pDeleteNode->pRight == NULL && pDeleteNode->pLeft == NULL) pChildNode = NULL;
|
27
27
|
//それ以外のケースは削除対象ノードの下に子ノードが1個なのでそれをセット
|
28
|
+
else pChildNode = pDeleteNode->pRight ? pDeleteNode->pRight : pDeleteNode->pLeft;
|
28
|
-
else pChildNode = pDeleteNode->pRight || pDeleteNode->pLeft;
|
29
|
+
//間違っていた → else pChildNode = pDeleteNode->pRight || pDeleteNode->pLeft;
|
29
30
|
|
30
31
|
//子ノードへのポインタを、方向指示に対応して現ノードの左右ポインタのどちらかに入れる。
|
31
32
|
if (direction == RIGHT) pNode->pRight = pChildNode;
|