gpt4 book ai didi

java - 使用递归反转列表的元素

转载 作者:行者123 更新时间:2023-11-30 01:55:55 25 4
gpt4 key购买 nike

目标是编写一段代码,借助递归来反转列表的元素。

public static List<Integer> reverse(List<Integer> input) {
if (input.isEmpty()) {
return new LinkedList<Integer>();
} else {
List<Integer> output = new LinkedList<Integer>();
output.add(((LinkedList<Integer>) input).removeLast());
reverse(input);
return output;
}
}

不幸的是,我只得到了第一个元素,列表的其余部分没有显示。我错过了什么?

最佳答案

您可以像下面的代码一样执行此操作。请注意,我使用的是 removeFirst() 方法。

import java.util.LinkedList;
import java.util.List;

public class Reverse {

public static List<Integer> reverse(List<Integer> input) {
if (input.isEmpty()) {
return new LinkedList<Integer>();
} else {
Integer first = ((LinkedList<Integer>) input).removeFirst();
List<Integer> output = reverse(input);
output.add(first);
return output;
}
}

public static void main(String[] args) {

List<Integer> input = new LinkedList<>();
input.add(15);
input.add(37);
input.add(26);
input.add(18);
input.add(31);

System.out.println("Input : " + input);
System.out.println("Output : " + reverse(input));
}
}

关于java - 使用递归反转列表的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54506148/

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