gpt4 book ai didi

javascript - DFS算法继续递归调用,不返回

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:59:01 25 4
gpt4 key购买 nike

我正在用 JavaScript 编写 DFS,算法找到了节点,但是 return 语句简单地结束了当前的递归调用,它继续向前继续搜索树。

dfs(node, target = 0) {
if (node) {
if (node.data === target) {
return node;
}
console.log(node.data);
this.dfs(node.left, target);
this.dfs(node.right, target);
}
}

最佳答案

您需要在递归调用中返回递归调用的结果(这听起来像重言式)。在这种情况下,我假设结果是一个节点或 undefined,它首先尝试节点本身,然后是左侧部分,最后是右侧部分。

dfs(node, target = 0) {
if (node) {
if (node.data === target) {
return node;
}
console.log(node.data);
return this.dfs(node.left, target) || this.dfs(node.right, target);
}
}

关于javascript - DFS算法继续递归调用,不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40116491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com