给定一棵树,我需要在从“a”到“b”的路径中找到第“k”个节点。这意味着我需要在从节点'a'到节点'b'的路径中的'kth'位置找到节点。我在考虑最低共同祖先和/或重光分解的路线,但我不确定这是否是这样做的方法。任何正确方向的指导表示赞赏。
细节:
- 这棵树不是二叉树。这是一个无向图,有 n-1 条边,n 个顶点,没有环。只是你的普通树
- 这棵树的顶点编号从 1 到 n。有 n-1 条无向边连接 n-1 对这些顶点
- 'a' 和 'b' 是树中从 1 到 n 编号的任意 2 个顶点。我们要在从“a”到“b”的路径中找到第“k”个节点。保证 'k' 的值 <= 从 'a' 到 'b' 的路径中的节点数
BFS 应用于每个查询(从“a”到“b”的第 k 个节点)不是一个选项,因为查询的数量很大。