File tree Expand file tree Collapse file tree 1 file changed +4
-1
lines changed
Ch06. Trees and Tree Algorithms/bst Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -96,16 +96,17 @@ def delete(self, key):
9696 toDelete : TreeNode = self .get (key )
9797 if toDelete is None :
9898 return
99- self ._size -= 1
10099 if toDelete == self .root :
101100 if toDelete .isLeaf ():
102101 self .root = None
102+ self ._size -= 1
103103 elif toDelete .hasBothChildren ():
104104 minNode : TreeNode = toDelete .rightChild .findMin ()
105105 tmpKey = minNode .key
106106 self .delete (tmpKey )
107107 self .root .key = tmpKey
108108 else :
109+ self ._size -= 1
109110 if toDelete .hasLeftChild ():
110111 self .root = self .root .leftChild
111112 self .root .parent = None
@@ -114,6 +115,7 @@ def delete(self, key):
114115 self .root .parent = None
115116 else :
116117 if toDelete .isLeaf ():
118+ self ._size -= 1
117119 if toDelete .isLeftChild ():
118120 toDelete .parent .leftChild = None
119121 else :
@@ -124,6 +126,7 @@ def delete(self, key):
124126 self .delete (tmpKey )
125127 toDelete .key = tmpKey
126128 else :
129+ self ._size -= 1
127130 if toDelete .hasLeftChild ():
128131 if toDelete .isLeftChild ():
129132 toDelete .parent .leftChild = toDelete .leftChild
You can’t perform that action at this time.
0 commit comments