if we have a tree given below:
1
/ \
2 3
/ \ / \
4 5 6 7
如何在节点4到5或4到6之间找到路径? 我知道如何找到从根到给定节点的路径,但不能找到2个随机节点之间的路径。
答案 0 :(得分:3)
您可以从根到两个节点采用两条路径,并删除公共子路径。
1
/
2
/
3
/ \
4 7
/ \ / \
5 6 8 9
e.g。对于从示例中5
到9
的路径,您将获得两条路径
1 2 3 4 5
和1 2 3 7 9
和。{
会发现3
是最低的公共父节点。然后将从5
开始直到公共父级的路径反转,并将其余路径添加到9
的路径中:5 4
+ 3
+ 7 9
- > 5 4 3 7 9