【发布时间】:2016-01-17 20:09:16
【问题描述】:
给定一个整数列表 a,使用递归返回一个包含
a的所有正元素的新列表。元素应以与a中相同的相对顺序出现在结果中。即[2, 3, -5, 8, -2] ==> [2, 3, 8]。
public static List positives(List a) {
if (a.isEmpty())
return List.empty();
if (a.getHead() > 0)
return positives(a.getTail());
else
return List.cons(0, a);
}
【问题讨论】:
-
您面临的问题是什么?你的问题是什么(要求!=问题)。
-
我是递归和列表的新手,这个小问题让我很困惑。当我测试它时,代码返回混合结果。希望有任何帮助告诉我我哪里出错了。谢谢。
-
您的代码无法为我编译。你的
List是什么? -
List只是一个类,它定义了一个名为List的递归类型,并提供了构造函数和getter方法。