二叉树
二叉搜索树
特点:一般用中序遍历
性质:中序遍历会得到一个单调递增的序列
leetcode 2476
中序遍历得到递增序列,对于每个询问做一次二分查找,时间复杂度O(n*logn)
最近公共祖先
leetcode 236
普通二叉树LCA,用分类讨论的方式思考:
1、遍历到空节点,返回节点本身(root)
2、遍历到p、q,不需要继续遍历,另一个节点要么在它子树中,要么在它祖先的另一侧,这两种情况都返回节点本身(root)
3、p、q在左右子树,返回当前节点(root)
4、p、q在左子树,返回左子树(root.left)
5、p、q在右子树,返回右子树(root.right)
6