所以,我用Java编写的方法有一些奇怪的问题,我可以使用一些帮助。这是代码:
public <T> LinkedList<T> recursiveReverse(LinkedList<T> l){
if(l.size() == 1) return l;
else{
T a = l.pop();
return recursiveReverse(l).addLast(a); <-- Error
}
}
我已经对这个问题进行了一些搜索,但我所得到的只是当他们的签名无效时人们试图返回的东西。我不觉得这段代码有什么问题,而且Java也是个笨蛋。任何帮助将不胜感激。
答案 0 :(得分:1)
方法addLast返回 void ,而recursiveReverse
的返回类型是LinkedList<T>
,而你想要的是:
recursiveReverse(l).addLast(a);
return l;