Insert Node in a Binary Search Tree

    既然确定使用递归,那么接下来就应该考虑具体的实现问题了。在递归的具体实现中,主要考虑如下两点:

    1. 基本条件/终止条件 - 返回值需斟酌。
    2. 递归步/条件递归 - 能使原始问题收敛。

    有了递归步,终止条件也就水到渠成了,若当前节点为空时,即返回结果。问题是——返回什么结果?当前节点为空时,说明应该将「插入节点」插入到上一个遍历节点的左子节点或右子节点。对应到程序代码中即为或者root->left = node. 也就是说递归步使用即可。

    NULL == tempNode->right或者时需要在链接完node后立即返回,避免死循环。