gpt4 book ai didi

java - 如何使用remove()方法递归地传递列表?

转载 作者:行者123 更新时间:2023-12-01 17:10:03 25 4
gpt4 key购买 nike

在此示例中,我尝试使用递归来对列表的所有元素求和。但是 summation(l.remove(0)) 有问题,它必须返回列表的尾部,但不能应用于此处。怎样做才正确呢?

public static Integer summation(List<Integer> list) {
return (list.isEmpty())
? 0
: list.get(list.size() - 1) + summation(list.remove(0));
}

最佳答案

这可以工作,但列表最后将为空(如果您想保留原始列表,请使用创建的列表副本(例如使用 summation )对 new ArrayList<Integer>(originalList) 进行初始调用)

public static Integer summation(List<Integer> list) {
if (list.isEmpty()) {
return 0;
}
return list.remove(list.size() - 1) + summation(list);
}

关于java - 如何使用remove()方法递归地传递列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24148874/

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