March 2019
Intermediate to advanced
336 pages
9h 9m
English
The removeNode method takes treeNode of the TreeNode type and a key integer value as parameters. In the following code snippet, the method recursively searches the leftNode instance of treeNode and the key value of rightNode if it matches the parameter value:
// removeNode methodfunc removeNode(treeNode *TreeNode, key int) *TreeNode { if treeNode == nil { return nil } if key < treeNode.key { treeNode.leftNode = removeNode(treeNode.leftNode, key) return treeNode } if key > treeNode.key { treeNode.rightNode = removeNode(treeNode.rightNode, key) return treeNode } // key == node.key if treeNode.leftNode == nil && treeNode.rightNode == nil { treeNode = nil return nil } if treeNode.leftNode == nil { treeNode = treeNode.rightNode ...Read now
Unlock full access