这个部分在《算法笔记》是没有的。
这种新背景的题目,如果之前没有接触过,那只能从普通的定义去解,即:
1.建树
2.找祖先,找到一致的就是最低公共祖先
例子:hihoCoder - 1062 、 二叉树的公共父结点
但是如果之前接触过,就能立即从递归的原理解:
假设要查找LCA的结点:
1.是父子,父节点就是LCA
2.在目前根的左右,则目前的根就是LCA
3.目前在根的同一侧,则目前的根设为该侧的子节点,继续递归
真题:
树、LCA | 18秋第四题 | 1151 | LCA in a Binary Tree (30分) |
---|---|---|---|
树、BST、LCA | 17冬第四题 | 1143 | Lowest Common Ancestor(30分) |