gpt4 book ai didi

c# - 递归搜索嵌套列表并获取父级

转载 作者:行者123 更新时间:2023-12-03 21:20:47 24 4
gpt4 key购买 nike

我有一个类:

public class Node
{
public string name;
public List<Node> children;

public Node()
{
children = new List<Node>();
}
}

我成功搜索并递归获取特定项目。我怎样才能得到 parent ?
public static Node Find(Node node, string name)
{

if (node == null)
return null;

if (node.name == name)
return node;

foreach (var child in node.children)
{
var found = Find(child, name);
if (found != null)
return found;
}

return null;
}

最佳答案

如果您不想添加父节点以保持结构简单,您可以更改返回类型并同时返回节点和父节点。

class SearchResult {
public Node Found;
public Node Parent;
}

public static SearchResult Find(Node node, string name)
{

if (node == null)
return null;

if (node.name == name)
return new SearchResult { Found = node, Parent = null};

foreach (var child in node.children)
{
var found = Find(child, name);
if (found != null)
return new SearchResult { Found = found, Parent = node};
}

return null;
}

关于c# - 递归搜索嵌套列表并获取父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23219223/

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