【发布时间】:2015-01-17 18:31:57
【问题描述】:
那么您将如何打印树中的所有路径。这里的条件是我们不仅想要从根开始的路径或子树中的路径。
例如:
2
/ \
8 10
/\ /
5 6 11
所以程序应该返回:
2-8
2-10
2-8-5
2-8-6
8-5
8-6
2-10-11
10-11
5-8-2-10-11
5-8-2-10
and so on...
一种方法是在每对不同的节点之间找到 LCA,然后打印从 LCA 到两个节点的路径(在左子树中反向,在右子树中按顺序)。但是这里的复杂性是 O(n^3)。有没有更有效的解决方案?
【问题讨论】:
-
假设它是一棵二叉树。
标签: data-structures binary-tree