BST中node.data介于节点a.data,b.data间的一定是LCA,否则对a.data与node.data大小比较,指针往后移动node.左侧,或者右侧。(非递归)时间复杂度O(n),对于斜树,空间复杂度O(n)
普通二叉树:要判断node是a,or b,return node; 要判断是否在node.两侧,return node; 要判断在一侧,则return (left?left:right),否则左子树递归,右子树递归。时间复杂度,空间复杂度O(n)
备注一句题外话:
BST中序遍历可以得到一个有序list.
BST中插入的元素若原树中已经存在,则忽略。