给定头结点和两个结点。

遍历二叉树,新建map,key为子节点,value为父节点。

通过两个结点通过map分别生成一条通往根节点的路径。

尾部为根节点。

从尾到头判断两条路径,最后相等的结点即为最近祖先结点

例如

寻找二叉树两个节点的最近祖先节点

 

Map中存放的是(2,1)、(3,1)、(4,2)、(5,2)、(6,4)、(7,4)、(8,6);

如寻找5和8的最近祖先节点,先5找到根节点的路径5 -> 2 -> 1,然后8到根节点的路径8 -> 6 -> 4 -> 2 -> 1。从尾向头遍历,找到最后一个相同的元素2即为最近祖先节点。

相关文章:

  • 2021-08-17
  • 2022-12-23
  • 2022-12-23
  • 2022-02-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-12
猜你喜欢
  • 2021-09-18
  • 2021-06-29
  • 2021-08-11
  • 2021-07-18
  • 2021-09-12
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案