求一个java递归例子

2025-03-04 20:10:12
推荐回答(2个)
回答1:

这个很好写的,代码如下:
private List recursionDept(List ld){
for(int i=0; i Dept d = ld.get(i)
loop(d);

}
}
private void loop(Dept d) {
List children=service.getChildDept(d.id);
if (children.size() > 0) {
d.setChildren(children); // 这里假设子列表属性的名字就是children
for(int j=0; j loop(children.get(j);
}
}
}
这个题目对初学者来说比较难的一点是,得想明白要自己建一个递归方法(loop)

回答2:

private List recursionDept(List ld) {
List res = new ArrayList<>(ld);
for (int i = 0; i < res.size(); i++) {
Dept p = res.get(i);

res.addAll(service.getChildDept(p.id));
}

return res;
}