From be6b25946a652a80139ed57429dce86b10b8d256 Mon Sep 17 00:00:00 2001 From: Caesar Date: Sun, 26 Jan 2020 14:15:18 +0800 Subject: [PATCH] Fix bug --- DataStructures/Trees/BinaryTree.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/DataStructures/Trees/BinaryTree.java b/DataStructures/Trees/BinaryTree.java index 75d3af18e..6ef4b5ada 100644 --- a/DataStructures/Trees/BinaryTree.java +++ b/DataStructures/Trees/BinaryTree.java @@ -145,12 +145,19 @@ public class BinaryTree { successor.left.parent = successor; //If the successor has a right child, the child's grandparent is it's new parent - if (successor.right != null && successor.parent != temp) { - successor.right.parent = successor.parent; - successor.parent.left = successor.right; - successor.right = temp.right; - successor.right.parent = successor; + if(successor.parent!=temp){ + if(successor.right!=null){ + successor.right.parent = successor.parent; + successor.parent.left = successor.right; + successor.right = temp.right; + successor.right.parent = successor; + }else{ + successor.parent.left=null; + successor.right=temp.right; + successor.right.parent=successor; + } } + if (temp == root) { successor.parent = null; root = successor;