【发布时间】:2022-01-23 17:53:49
【问题描述】:
如何使用 BFS 或 DFS 获取给定节点的所有表兄弟并添加到 ArrayList。如果有人能帮忙指出我的逻辑哪里错了
static boolean findLevel(Node root, Node find, int level) {
boolean status = false;
if (root == null || find == null)
return false;
if (root == find)
status = true;
findLevel(root.left, find, level + 1);
findLevel(root.right, find, level + 1);
return status;
}
static boolean sibling(Node root, Node find) {
boolean status = false;
if (root == null || find == null)
return false;
if (root.left == find && root.right == find)
status = true;
sibling(root.left, find);
sibling(root.right, find);
return status;
}
【问题讨论】:
-
先调用哪个方法?如果您不介意,您可以与示例 I/O 分享确切的问题陈述吗?
-
我正在将 findLevel 与 printCousins 方法中的兄弟姐妹进行比较。如果你所说的“你能分享确切的问题陈述......”,我还附上了确切的问题。 @nice_dev
-
是的,这很有意义。问题似乎完成了。
-
能否请您花几分钟时间评估答案并接受最好的答案。这不是最简单的问题,帮我们一个忙
-
我肯定会@AlexanderIvanchenko
标签: java algorithm data-structures depth-first-search breadth-first-search