|
|
1
3
在搜索节点时,可以跟踪从当前节点到根节点路径中的所有节点。这是一个长度不大于树的深度的简单列表。一旦找到节点,它的 n 祖先已经就位 长度n 在列表中。 |
|
|
2
1
我想你的问题有点错。你错过了一件重要的事情。你当然可以不用第二关。只要保持一个 queue 在搜索的最后n个节点中。
你错过的是这样的算法需要
所以你的解决方案不是“错误”或“太慢”。它有自己的利弊。 |
|
|
3
1
嗯,我突然想到,一个简单的方法,只需要一个额外的节点或更少的空间将是有一个虚拟节点,持有回溯计数。找到搜索目标后,将虚拟节点设置为 n 并返回 它 ,而不是找到不需要的节点。
你需要一个函数
|
|
|
4
1
只需查找该节点并在执行时保存路径。大致如下(对于整数树):
请注意我假设第n个祖先 做 存在。
对于t大小的树来说
|
|
|
5
1
为此,请使用n个间隔的队列。每当你找到一个,德克和恩克,
|
|
|
6
0
是的,不用第二遍就可以完成。你只需要用两个指针。你可以这样做
|
|
|
7
0
其背后的逻辑是,我们通过递归从根节点一直到搜索节点,当我们找到它时,我们沿着它来自的路径遍历并打印它。 |
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 2 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 2 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 2 年前 |