题目一:
    image.png
    image.png
    解法1 :
    step1 : 采用任何一种遍历,用hashMap记录每个节点的父亲节点,
    step2: 根据目标节点node1,往上找,所有沿途的点放到hashSet中,
    ste3: 根据目标节点node2,往上找,当碰到在hashset中时返回,

    解法2:
    image.png
    代码:
    image.png1

    情况一:分析
    image.png
    情况二: 当node1 和 node2 不是互为祖先的关系的话,当递归的第一个节点是node1 或者 node2 的时候,就不再往下递归,
    而是往上回溯,当回溯的时候,一个节点两边都不是null,说明是首次出现祖先

    代码形式上这道题是树形dp递归套路的问题,但是理解上不好解释,左右信息到底到底是什么,关键base case不太常规,
    image.png
    题目二、后继节点问题,
    中序遍历的紧随其后的节点
    image.pngimage.png
    解法1 : 先中序遍历,生成序列,保存每个节点,然后找每个节点的后序
    解法2 :
    image.png
    调研结构:找X 的 后继 Y
    情况1 : 如果x有右树,那么后继节点就是右树的最左节点
    情况2: 如果x 没有右树,并且x是父亲的左孩子,那么后继节点是父亲
    情况3: 如果x没有右树,那么得找x的父亲的父亲,直到自己父亲是父亲父亲的左节点的时候,如果已知找到null,那么就返回null。
    tips: 情况2、3 可以整理 成一个。
    image.png