// recursiveInsert insert a new node to targetNode recursively.
recursiveInsert insert a new node to targetNode recursively.
// recursiveInsert insert a new node to targetNode recursively .
func recursiveInsert(targetNode *Node, newNode *Node) {
	if newNode.Key < targetNode.Key {
		if targetNode.Left == nil {
			targetNode.Left = newNode
		} else {
			recursiveInsert(targetNode.Left, newNode)
		}
	} else {
		if targetNode.Right == nil {
			targetNode.Right = newNode
		} else {
			recursiveInsert(targetNode.Right, newNode)
		}
	}
}
func recursiveInsert ( targetNode * Node , newNode * Node ) { if newNode . Key < targetNode . Key { if targetNode . Left == nil { targetNode . Left = newNode } else { recursiveInsert ( targetNode . Left , newNode ) } } else { if targetNode . Right == nil { targetNode . Right = newNode } else { recursiveInsert ( targetNode . Right , newNode ) } } }
recursiveInsert insert a new node to targetNode recursively.
recursiveInsert insert a new node to targetNode recursively .
// if a newNode is smaller than targetNode, insert a newNode to left child node. // if a newNode is a bigger than targetNode, insert a newNode to right childe node.