我的类可以嵌套相同的类实例:
class SomeClass
{
List<SomeClass> SomeClasses;
}
而且......我需要知道链Parent - Children
中的最高金额是多少。
我对此很困惑,所以我甚至不知道如何开始这样做。最有可能的是,没有递归就无法完成。
答案 0 :(得分:2)
假设任何SomeClass实例形成一棵树,也许你正在寻找树的深度。如果是这种情况,您确实会使用递归:编写一个接受SomeClass
的函数,并返回1加上通过将自身应用于SomeClasses
列表而形成的列表的最大值。
这里举例来说是JS中的一个实现:
const depth = ({ things }) => 1 + Math.max(0, ...things.map(depth))
depth({
things: [
{
things: [
{
things: []
},
{
things: [
{
things: []
}
]
}
]
}
]
});
// 4